为什么mouseonhover javascript不能处理类,但可以处理ID?
为什么javascript中鼠标悬停不适用于类,而适用于ID 比如说,为什么mouseonhover javascript不能处理类,但可以处理ID?,javascript,Javascript,为什么javascript中鼠标悬停不适用于类,而适用于ID 比如说, window.onload = function() { var myIcon = document.getElementsByClassName('myIcon'); //does not work myIcon.onmouseover = function() { // do something return false; }; }; but windo
window.onload = function() {
var myIcon = document.getElementsByClassName('myIcon'); //does not work
myIcon.onmouseover = function() {
// do something
return false;
};
};
but
window.onload = function() {
var myIcon = document.getElementsByID('myIcon'); //works
myIcon.onmouseover = function() {
// do something
return false;
};
};
您有两个同名的变量,即重新定义和重新分配
myIcon
。另外,getElementsByID
不是函数,getElementById
或getElementsByID
是函数getElementsById
然后返回包含元素“数组”的节点列表。最后,getElementsByClassName
还返回一个节点列表。两者都是数组,所以你必须这样对待它
下面是一个示例,请注意,示例中的getElementsByClassName
仅适用于类为myIcon
的第一个元素。可以使用for循环遍历所有元素并更改其侦听器
var myIcon_class=document.getElementsByClassName('myIcon')[0]//注意,获取第一个元素
var myIcon=document.getElementById('myIcon'))
myIcon.onmouseover=函数(){
警报(“悬停在ID上!”);
返回false;
};
myIcon_class.onmouseover=函数(){
警报(“悬停在课堂上!”);
返回false;
}; 代码>
Id span!
班距代码>对不起,我实际上使用了一个myIcon变量,这只是为了说明,我正在编辑我的问题。可能是重复的