実現したいこと
以下のようなHTMLを作成し,class名は同一で,idはそれぞれ異なる3つのボタンを用意しました.
HTML
1<body> 2 <button type="button" class="send_button" id="1">1</button> 3 <button type="button" class="send_button" id="2">2</button> 4 <button type="button" class="send_button" id="3">3</button> 5</body>
これに,以下のようなJavaScriptを追加しました.
ボタンを押すと,押したボタンの番号がコンソールに表示されることを目指しました.つまり,ボタン2を押すとコンソールに'2'と表示されるようなものです.
Javascript
1 2for (var i=0; i<3; i++){ 3 document.getElementsByClassName('send_button')[i].onclick = function(){ 4 console.log(i); 5 } 6}
発生している問題
どのボタンをクリックしても,'3'と表示されてしまいます.
補足情報
現在つくっているものの仕様上,どうしてもclass名は複数のオブジェクトで同一になってしまうので,「class名を同一にしない」や,「HTMLの仕様を変える」以外の解決方法でお願いします.

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/27 05:20