0

我在许多 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);  
}

对不起我的英语不好。

4

2 回答 2

1

因为然后您将事件侦听器添加到数组对象而不是将其添加到其每个元素

于 2013-09-28T03:38:20.773 回答
0

因为document.getElementsByTagName()返回一个 nodeList 对象并且该对象不包含方法.addEventListener(),所以您提出的内容将导致脚本错误。

您需要的是能够为 nodeList 中的每个 DOM 对象添加事件侦听器。您可以使用for循环自己迭代 nodeList 或创建自己的函数/方法来这样做。

于 2013-09-28T03:57:03.607 回答