次のコードをIE(バージョン:11.0.9600.19356)で実行したところエラーが表示されました。
html
1<div>aaa</div> 2<div>bbb</div> 3<div>ccc</div>
javascript
1const div = document.querySelectorAll("div"); 2 3for(let i = 0; i < div.length; i++) { 4 div[i].addEventListener("click", function() { 5 div[i].classList.add("add"); 6 }) 7}
表示されたエラーメッセージはこちら
未定義またはnull参照のプロパティ'classList'は取得できません
このコードは、ChromeでもFirefoxでも正常に動きましたが、IEではエラーになりました。
そこで、for文の中のクラスを追加するコードをコメントアウトし、代わりに次のコードを追記しました。
javascript
1console.log(i);
すると、いずれのdivタグを押しても、IEではコンソールに3
が表示されます。ChromeとFirefoxでは期待通りに0
, 1
, 2
が表示されます。
この原因はなんですか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。