重複の可能性:
JavaScript クロージャーはどのように機能しますか?
ループ内の別の関数内でループ カウンターの値を使用しようとしています。これは関数クロージャに関連していることを知っています。少し混乱しています。誰かがこの問題について説明できれば、理解できると思います。
for (var i = 0; i < foo.length; i++) {
// $('<li/>').addClass('box').append($('<img/>').attr({'src':foo[i].image, 'data-phrase':foo[i].phrase}).hide()).appendTo($('ul.boxPack'))
$('<li/>').addClass('box')
.attr('data-phrase', foo[i].phrase)
.bind('click', function (i) {
alert(i);
console.log(foo[2]);
$(this).append($('<img/>').attr('src', foo[2].image))
})
.appendTo($('ul.boxPack'));
}
アラートを出すことができませんi
。