0

我创建了以下小提琴:

http://jsfiddle.net/cgoddard/eceGc/1/

我想知道需要做什么,以便三个创建的链接中的每一个都会提醒一个数字(即当时它所i在的数字)。

4

1 回答 1

5

查看更新的小提琴:http: //jsfiddle.net/eceGc/2/

var selectorObject = document.getElementById('selector');
for (var i = 0; i < 3; i++) {
   (function(i) {
       /* all code here */
   }(i));
}

只需将循环体包装成一个闭包(一个自执行的匿名函数),将当前i作为参数传递。

您的代码出现问题是因为触发 click 事件时, 的值i已达到循环内的限制,因此您正在读取该值。


避免这种行为的另一种方法是通常将循环内的所有代码移动到一个函数中,然后在循环内调用该函数(始终将i变量作为参数传递)

于 2012-10-04T09:30:12.643 回答