给代码<div id="zuo2">aa</div>加鼠标移入事件,
var oZuo = document.getElementById('zuo2');
完全正常
而给一组代码加鼠标移入事件,
<div class="zuo2">aaaa<div>
<div class="zuo2">aabb<div>
<div class="zuo2">acca<div>
var oZuo = document.getElementsByClassName('zuo2');
浏览器不响应
var oZuolist = document.getElementsByClassName('zuo2');
for(var i=0;i<oZuolist.length;i++){
oZuolist[i].onmouseover=function(){
//注意涉及到这个对象不能使用oZuolist[i],要用this代替
}
}
var oZuo = document.getElementsByClassName('zuo2'); 获取的是一个dom集合 而不是一个dom 对象,你无法对js的集合绑定事件
var oZuo = document.getElementsByClassName('zuo2')[0]; 就可以。
代码贴的不全,但猜测应该是问这个问题
在非标准的浏览器,通过class去选择元素方式是不支持的,如果要实现兼容就要手动去实现 getElementsByClassName