次のフィドルを作成しました。
http://jsfiddle.net/cgoddard/eceGc/1/
そして、作成された 3 つのリンクのそれぞれが番号 (つまり、その時点でオンになっていた番号) を警告するようにするには、何をする必要があるのだろうと考えていi
ました。
次のフィドルを作成しました。
http://jsfiddle.net/cgoddard/eceGc/1/
そして、作成された 3 つのリンクのそれぞれが番号 (つまり、その時点でオンになっていた番号) を警告するようにするには、何をする必要があるのだろうと考えていi
ました。
更新されたフィドルを参照してください:http://jsfiddle.net/eceGc/2/
var selectorObject = document.getElementById('selector');
for (var i = 0; i < 3; i++) {
(function(i) {
/* all code here */
}(i));
}
ループの本体をクロージャ(自己実行無名関数)にラップし、現在i
を引数として渡します。
コードの問題は、クリックイベントがトリガーされたときに、の値がi
ループ内の制限に達したため、その値を読み取っているために発生します。
この動作を回避する別の方法は、通常、関数内のループ内のすべてのコードを移動してから、ループ内でその関数を呼び出すことです(常にi
変数を引数として渡します)