【发布时间】:2010-12-07 15:30:41
【问题描述】:
如果我使用循环创建大量 HTML 元素,例如
for (i= 1; i < 100; i++) {
var my_element = document.createElement ("td");
row.appendChild (my_element);
my_element.onclick = function () {my_function (i));
}
那么当点击元素时,传递给my_function的i的值总是100,不管是什么数字元素调用它。我已经通过使用解决了这个问题
my_element.id = "something"+i;
my_element.onclick = function (e) {my_function (e.target.id)};
(对于 Internet Explorer,target 显然需要为 srcElement。)我很想知道是否有任何方法可以创建函数而不必像这样将 ID 添加到元素中。
【问题讨论】:
标签: javascript loops closures