【发布时间】:2011-06-26 23:20:20
【问题描述】:
例如,我有 10 个从 AJAX 响应生成的标签:
<a href="#" id="b1">b1</a>
<a href="#" id="b2">b2</a>
<a href="#" id="b3">b3</a>
<a href="#" id="b4">b4</a>
<a href="#" id="b5">b5</a>
<a href="#" id="b6">b6</a>
<a href="#" id="b7">b7</a>
<a href="#" id="b8">b8</a>
<a href="#" id="b9">b9</a>
<a href="#" id="b10">b10</a>
我需要通过循环将 onclick 事件分配给他们每个人:
for(i=1; i<11; i++) {
document.getElementById("b"+i).onclick=function() {
alert(i);
}
}
这不起作用,它只会将 onclick 分配给最后一个标签并警告“11”。我怎样才能让它工作?我不想使用 jQuery。
【问题讨论】:
-
你应该打电话给
attachEvent/addEventListener(虽然他们不会解决你的问题) -
@SLaks 为什么
attachEvent/addEventListener比element.onclick更合适? -
@MicahHenning:允许您拥有多个处理程序。
-
@SLaks 啊,好点。谢谢。
标签: javascript