teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

表現ミスを修正

2018/11/01 03:17

投稿

dice142
dice142

スコア5158

answer CHANGED
@@ -1,8 +1,9 @@
1
1
  `target.classList`が`undefined`のために起こります。
2
2
  `target`を`document.getElementsByClassName()`で取得していますが、
3
- これは指定したクラス名がついている要素の配列が返ってきます。
3
+ これは指定したクラス名がついている要素の~~配列~~HTMLCollectionが返ってきます。
4
4
 
5
5
  つまり、`classList`が使用できるのは`Element`である必要があるのに、
6
- `target`は`Element[]`であるために、`classList`が`undefined`となります。
6
+ `target`は`~~Element[]~~HTMLCollection`であるために、`classList`が`undefined`となります。
7
7
 
8
- 取得したい要素が必ず0番目であれば`document.getElementsByClassName(xxx)[0]`とすればよいでしょう。
8
+ 取得したい要素が必ず0番目であれば`document.getElementsByClassName(xxx)[0]`とすればよいでしょう。
9
+ [追記]取得した全要素に対してであればループで回しましょう。