getElementById vs. getElementsByTagName
getElementById vs. getElementsByTagName
基本问题。
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元素添加一个处理程序。
相关文章:
- 没有找到相关文章