• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQuery イベントの繰り返し)

jQueryイベントの繰り返しとボタンのクリックで画像表示する方法

このQ&Aのポイント
  • jQueryを使用してボタンと画像の関連付けを行いたい場合、以下のようなコードを使用します。
  • forループを使用してボタンの番号と画像の番号を対応させ、クリックしたボタンに応じた画像を表示します。
  • ただし、現在のコードでは最後のiが10のときのイベントしか反映されないため、変数iをクロージャー内で使用する方法を採用することで解決できます。

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

まず $(".何々")というのはclassのセレクター指定ですが、 それは大丈夫ですか、こおいった場合class属性じゃなくid 属性使うのが自然だと思うんですが...だいじょうぶですよねえ それはさておき、イベントハンドラーにiが渡ってませんよ! (i.toString()のtoString()はこのさい省略しても大丈夫です。 勝手に文字連結されます。) $(function(){ for(i=1; i<=10; i++){ $("#button"+i).bind("click",{x:i},function(e){ $("#imgarea").attr("src",e.data.x+".jpg"); $("#imgarea").attr("alt",e.data.x+".jpg"); }); } }); <div> <button id="button1">1</button> ---------------------- <button id="button10">10</button> <img id="imgarea" src="hoge" alt="hoge"> </div> ですね

shiraito
質問者

お礼

classとidに関しては、表示されるからいっか! みたいに思っちゃってる部分はありますね…。 きちんとします。すみません。 上記のやり方で出来ました。 助かりました。ありがとうございます。。

関連するQ&A