いくつかの要素をループしてから、クリックしたときにこれらの要素を操作する新しい要素を追加しています。説明するのは難しいので、この Fiddle を見てください。
興味深い部分は次のコードです (簡潔にするために疑似コードを使用しています)。
for (var i = 0; i < divs.length; i++) {
var div = divs[i];
someOtherElement.addEventListener("click", function () {
testDiv(div); // always refers to the last div because variable is overwritten next loop
});
}
testDiv 呼び出しがそれぞれ div 1、div 2、div 3 を参照することを期待していますが、変数は次のループ反復で上書きされるため、それらはすべて div 3 を参照します。どうすればこれを解決できますか?