我在很多JavaScript书籍中看到,当我们获得for
个对象并对其执行某些操作时,会使用Array
循环
function()
{
var links = document.getElementsByTagName("a");
for (var i = 0, ii = links.length; i < ii; i++)
{
links[i].addEventListener("event", eventListener, false);
}
}
好吧,我的问题是为什么我们使用for
循环我的意思是为什么我们不直接在Array
上做一些事情。就像下面的代码一样
function()
{
var links = document.getElementsByTagName("a");
links.addEventListener("event", eventListener, false);
}
抱歉我的英文。
答案 0 :(得分:1)
因为那时你将事件监听器添加到数组对象而不是将其添加到每个元素
答案 1 :(得分:0)
因为document.getElementsByTagName()
返回一个nodeList对象而该对象不包含方法.addEventListener()
所以你所建议的将导致脚本错误。
您需要的是能够在nodeList中为每个DOM对象添加事件侦听器。您可以使用for
循环自行迭代nodeList,也可以创建自己的函数/方法。