为了账号安全,请及时绑定邮箱和手机立即绑定

IE7下冒泡为何没效果。IE8正常

IE7下冒泡为何没效果。IE8正常

mmmmm_魂牵梦萦 2016-01-19 10:32:44
//    TODO:获取事件源     var jpNav = document.getElementsByClassName("jp-nav"); //    TODO:便利数组并增加点击事件     for(var i = 0 ; i < jpNav.length ; i++){         jpNav[i].onclick = function(event){             var event = window.event || arguments[0];             var e =  event.srcElement ? event.srcElement : event.target;             if(!e.href){                 return;             }else{                 var arr = e.parentNode.childNodes;                 for(var j = 0 ; j < arr.length ;j++){                     if(arr[j].nodeType == 1){                         if(arr[j].getAttribute("class") == "zt-active"){                             arr[j].setAttribute("class","");                         }                     }                 }                 e.setAttribute("class","zt-active");             }         }     }
查看完整描述

4 回答

已采纳
?
zhangcl

TA贡献12条经验 获得超7个赞

你是要达到修改点击的标签和所有兄弟标签的类名的效果吗?建议用jquery处理,本身已经作了很多浏览器的兼容性处理了,不建议用dom对象去进行这样的操作,上面写得很复杂,用jquery修改本身元素的class值,然后获取兄弟元素,修改class,而且不用for循环,直接修改可以改掉所有的兄弟元素的class,dom对象我不清楚可不可以去掉for循环(你上面写了for循环的),你可以试一下。

查看完整回答
反对 回复 2016-01-22
?
echo_kinchao

TA贡献600条经验 获得超86个赞

不兼容

查看完整回答
反对 回复 2016-01-20
?
mmmmm_魂牵梦萦

TA贡献2条经验 获得超0个赞

我知道document.getElementsByClassName不兼容,已经用函数解决了,而且重点也不在这里。

查看完整回答
反对 回复 2016-01-19
?
Lyong

TA贡献23条经验 获得超16个赞

document.getElementsByClassName  

ie7 ie8 都不行吧


查看完整回答
反对 回复 2016-01-19
  • 4 回答
  • 0 关注
  • 1943 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信