回答編集履歴

2

表現の修正

2021/10/02 03:53

投稿

think49
think49

スコア18189

test CHANGED
@@ -32,9 +32,9 @@
32
32
 
33
33
 
34
34
 
35
- - clickイベントハンドラ関数を2回定義されている部分を1回定義して変数にキャッシュ
35
+ - clickイベントハンドラ関数を2回定義ている部分を1回定義して変数にキャッシュ」に変更
36
-
36
+
37
- - 「class="js-open"」の要素をclickする度に検索しているので変数にキャッシュ
37
+ - 「class="js-open"」の要素をclickする度に検索している部分を「変数にキャッシュ」に変更
38
38
 
39
39
 
40
40
 

1

querySelectorAll() の第一引数に配列を渡しても動作する理由

2021/10/02 03:53

投稿

think49
think49

スコア18189

test CHANGED
@@ -126,6 +126,12 @@
126
126
 
127
127
 
128
128
 
129
+ `querySelectorAll()` の第一引数に配列を渡しても動作するのは、querySelectorAll() が内部的にString型への変換を行っており、変換後の文字列が「カンマ区切りのセレクタ文字列」になる為です。
130
+
131
+ 「カンマ区切りのセレクタ文字列」(`'.header__nav-btn,.cover-darken'`)を渡しても同じ結果となりますが、質問文のコードはクラスセレクタを個別に管理していた為、ここでは配列としました。
132
+
133
+
134
+
129
135
  初めに下記要件を定義しましたが、これは「class="js-open"」な要素が複数存在した場合、`querySelector('js-opened')` によって初めの一つにのみ反応するからです。
130
136
 
131
137