HTMLで複数のボタンを設置し、1番目のボタンが押されたら0という数字を変数に代入し、2番目のボタンが押されたら1を代入したいのですが、上手くいきません。
let btns = document.querySelectorAll(".btn");
for (var i = 0; i < btns.length; i++) {
btns[i].addEventListener("click", test);
}
function test() {
console.log(i);
}
例えばボタンが3個あり、2番目のボタンを押した時、for文2行目のbtns[i]ではおそらくi=1なのですが、呼び出した先のfunctionではiには3が代入されてしまっています。
i=1のままfunctionを実行するにはどう書けば良いのでしょうか。
<html><body> <button class="btn">ボタン1</button> <button class="btn">ボタン2</button> <button class="btn">ボタン3</button> <script> let btns = document.querySelectorAll(".btn"); for (var i = 0; i < btns.length; i++) { btns[i].addEventListener("click", test); } function test() { console.log(i); } </script> </body><html>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/08 02:54