前提・実現したいこと
以下のコードにて、関数の引数にループ変数を用いたとき,意図した結果が得られず困っています。
発生している問題・エラーメッセージ
ボタン0、ボタン1、ボタン2のどのボタンをクリックしてもconsole.log(son)の結果「3」のみが出力されます。「ボタン0」がクリックされたときに「0」を、「ボタン1」をクリックしたときに「1」が出力されるというふうにしたいと考えています。
該当のソースコード
<body> <div id="id"></div> <script> function father(son){ console.log(son); }; for (var i=0;i<3;i++){ var div_element = document.createElement("div"); div_element.innerHTML = '<input id="sv" type="button" value="ボタン'+i+'" onclick="father(i)">'; var obj = document.getElementById("id"); obj.appendChild(div_element); }; </script> </body>
試したこと
ループ変数をその他グローバル変数に代入して,そのグローバル変数を引数として用いたりしましたが同様の結果が得られました。
初心者なので単純なことで躓いているのだとは思いますが,どうか対策をご教授いただければと思います。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/03 12:08
2018/06/03 13:37
2018/06/03 13:40
2018/06/03 14:11
2018/06/04 13:19
2018/06/05 12:19