本文介绍了getElementById与getElementsByTagName的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

基本问题。

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

在这个例子中,为什么第一行有效,但不是第二行(未注释的时候,当然)?

In this example, http://jsfiddle.net/8fURz/1/ why does the first line work, but not the second line (when it is un-commented, of course)?

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

I know I can do this easily with jQuery, just wonderin...

推荐答案

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

Because document.getElementsByTagName("li") return a NodeList, you need to bind event handler to every element of the NodeList.

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

这篇关于getElementById与getElementsByTagName的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-25 17:56