我正在循环一些元素,然后添加新元素,这些元素在单击时应该操纵这些元素。这很难解释,所以请看一下这个 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,因为该变量在下一次循环迭代中被覆盖。我该如何解决这个问题?