我有以下内容:
for (var i = 0; i <= 10; i += 1) {
var $page_button = $('<a>', {
html : i,
click : function () {
var index = i;
console.log(index);
return false;
}
});
$page_button.appendTo($wrapper);
}
我认为这var index
将为循环的每次迭代单独定义,因为它包含在一个函数中。在这种情况下,打印的索引值始终为 10。
链接文本是 i 的正确值,因为它被写入 DOM,然后是不可变的。
为什么会这样,我应该改变什么来解决我的问题?
我知道这与许多其他问题相似,但使用这种表示法的行为会导致不同的结果。我正在使用 jQuery 1.7.2(不幸的是不能使用任何更新的版本。)