内容としましては
「indexOf()を使用してクリックした要素が何番目(index)かを取得する挙動」
を実装したいです。
HTML
1 <ul> 2 <li class="test-list">1</li> 3 <li class="test-list">2</li> 4 <li class="test-list">3</li> 5 <li class="test-list">4</li> 6 <li class="test-list">5</li> 7 </ul>
JavaScript
1const tests = document.querySelectorAll(".test-list"); 2console.log(tests); 3 4let testIndex; 5 6tests.forEach(item => { 7 item.addEventListener("click", link => { 8 testIndex = [].indexOf.call(tests, item.target); 9 console.log(testIndex); 10 }) 11});
上記のコードで行きますと
console.log(testIndex)は「-1」を吐いてしまいます。
こちらのPCではないところで仮にコードを書いて実装してみたら、ちゃんとクリックしたらindexを取得していたので
なぜ…?となってます。。。。
JSは全く同じ記述なのでなおさらなぜとなってます。
どうかよろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/22 15:46