• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:イベントに適切な値が伝わらない)

イベントに適切な値が伝わらない

このQ&Aのポイント
  • 0から9までidをもつdivを用意し、クリックしたらそのidを表示したいが、どれをクリックしても「10」と表示される。なぜだろう?
  • JavaScriptの関数`sample`を作成し、0から9までのdiv要素にクリックイベントを追加する。しかし、クリックしても表示されるのは「10」という値のみ。
  • HTMLの`div`要素に対してidを設定し、JavaScriptの`sample`関数でクリックイベントを設定するが、クリックした要素のidが正しく表示されない。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

今回のトラブルに直接関係はありませんがidに数字だけのものは 指定できません。 今回はiがオブジェクトでわたってるんじゃないですか? こんな風にしてみてはどうでしょう? <script> function sample(){ for(i=0; i<10; i++){ var obj = document.getElementById('id'+i); obj.onclick = sample_alert; } } function sample_alert(){ alert("i="+this.id); } window.onload = function(){ sample(); } </script> <?PHP for($i=0; $i<10; $i++){ print "<div id=\"id{$i}\">{$i}</div>\n"; } ?>

takagoo100
質問者

お礼

ご返答ありがとうございます。 そのやり方でできました。ありがとうございます。 単なる変数だと思ってたiがオブジェクトになってるわけですか・・・ 自身もう少しオブジェクトについて理解していかないと駄目ですね・・・

関連するQ&A

専門家に質問してみよう