ここから本文です

javascriptについて質問です。

set********さん

2016/8/2910:56:20

javascriptについて質問です。

for(i=0;i<itemList.length;i++){
var hand = displayCard.appendChild(document.createElement("img"));
hand.src = itemList[i];
hand.setAttribute("onclick", "getCard(i)");
}



このように、画像をitemListの数だけ表示してそれらすべてにonclick属性を付けています。getCardの引数をループの回数と同じ(1枚目の画像なら0、2枚目の画像なら1、・・・)としたいのですが、実際はすべての画像の引数はループの最大値となってしまいます。こうなる理由と解決策を教えていただきたいです。

閲覧数:
18
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

kur********さん

2016/8/2911:14:50

hand.setAttribute("onclick", "getCard(i)");

では、getCard(i)
とコールするようになりますので、ループ終了時のiを引数としてコールするようになってしまっています。

hand.setAttribute("onclick", "getCard(" + i + ")");

として、数値になるようにしてください。

質問した人からのコメント

2016/8/29 11:58:44

ありがとうございます。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる