getElementById vs. getElementsByTagName

getElementById vs. getElementsByTagName

本文关键字:getElementsByTagName vs getElementById      更新时间:2023-09-26

基本问题。

document.getElementById("yy").onmouseover = hi;
//document.getElementsByTagName("li").onmouseover = hi;
...

在这个例子中,http://jsfiddle.net/8fURz/1/为什么第一行有效,而第二行无效(当然,当它没有被评论时)?

我知道我可以用jQuery轻松做到这一点,只是想知道。。。

因为document.getElementsByTagName("li")返回一个NodeList,所以需要将事件处理程序绑定到NodeList的每个元素。

var list = document.getElementsByTagName("li");
for (var i= 0; i < list.length; i++) {
  list[i].onmouseover = hi;
}

因为getElementsByTagName返回DOM元素的集合。当然,一个集合没有点击事件。如果要将事件绑定到集合中的每个元素,只需循环遍历集合,并为集合中的每一个DOM元素添加一个处理程序。

相关文章:
  • 没有找到相关文章