我在这个循环中调用增量器 i 来识别我当前的元素时遇到了一些麻烦。Firebug 给了我错误"li[i].addEventListener is not a function"
。
document.addEventListener("DOMContentLoaded", function(){
var li = document.getElementsByTagName('li');
for(var i in li){
li[i].addEventListener('click', function(){
alert('yey');
});
}
});
奇怪的是,如果我打电话
alert(li[i].getAttribute('id')
我收到了提醒我的 ID,但如果我随后使用
var id=li[i].getAttribute('id');
document.getElementById(id).addEventListener(blah);
我得到相同的“不是函数”错误。这是for循环吗?我注意到alert(i);
在循环结束时调用了一些额外的东西,那么有没有不同的方法在 for in 循环中使用增量器?顺便说一下,我正在使用的列表是:
<ul>
<li id=pomp>
stuff
</li>
<li id=and>
and
</li>
<li id=circumstance>
things
</li>
</ul>