回答編集履歴

2

情報の追加。

2016/12/08 20:05

投稿

kei344
kei344

スコア69407

test CHANGED
@@ -25,3 +25,69 @@
25
25
 
26
26
 
27
27
  ベストアンサーを選ぶ前に、コメントで状況を伝えるなりすればよいので、わからなかったらまずコメントをください。
28
+
29
+
30
+
31
+ ---
32
+
33
+
34
+
35
+ **追記:**
36
+
37
+
38
+
39
+ 「同じようなエラー」ではなく出たエラーをエラー文のまま提示したほうが状況が伝わりますよ。
40
+
41
+
42
+
43
+
44
+
45
+ ```JavaScript
46
+
47
+ var frilisimg = document.querySelectorAll( "#frilis .useimg img" );
48
+
49
+ for ( var i =0; i < frilisimg.length; i++ ) {
50
+
51
+ // ↑そもそもこれが原因でエラーが起きている。0番から数えているから frilisimg.length 以下で良い。
52
+
53
+ ( function( i ){
54
+
55
+ frilisimg[ i ].addEventListener( "click", function() {
56
+
57
+ showFriends( i );
58
+
59
+ }, false );
60
+
61
+ } )( i );
62
+
63
+ }
64
+
65
+ function showFriends( j ) {
66
+
67
+ var Farea_P = document.querySelectorAll( "#frilis ul li" );
68
+
69
+ var Farea2 = document.querySelector( "#frilis ul li #f_area" );
70
+
71
+ for ( var i = 0; i < Farea_P.length; i++ ) {
72
+
73
+ if ( !( i == j ) ){
74
+
75
+ if ( Farea_P[ i ].querySelector( "li > #f_area" ) ) {
76
+
77
+ Farea_P[ i ].removeChild( Farea2 );
78
+
79
+ }
80
+
81
+ }
82
+
83
+ }
84
+
85
+ } // ← これが少なかった
86
+
87
+ ```**動くサンプル:**
88
+
89
+ [https://jsfiddle.net/vhgr5xf2/3/](https://jsfiddle.net/vhgr5xf2/3/)
90
+
91
+
92
+
93
+

1

補足の追加。

2016/12/08 20:05

投稿

kei344
kei344

スコア69407

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  var Farea2 = document.querySelector("#frilis ul li #f_area");
6
6
 
7
- if ( Farea_P[1].querySelector("li > #f_area") ) {
7
+ if ( Farea_P[1].querySelector("li > #f_area") ) { //li がネストしていたら( #frilis ul li ul li > #f_area がある場合 )意図しない箇所を取得する可能性有り
8
8
 
9
9
  console.log( 'true' );
10
10