Firefox对childNodes处理的一个BUG

childNodesFirefox在处理childNodes没有过滤换行与空格。所以在初次使用的时候,得到效果不是预期的效果。
如下代码:

HTML

< ul  class ="tbtn"  ID ="menuList" >
< li  class ="curr"  id ="tabap3_btn_0"  onclick ="tabit(this)" > 理财大学B </ li >
< li  id ="tabap3_btn_1"  onclick ="tabit(this)" > 名医讲堂 </ li >
< li  id ="tabap3_btn_2"  onclick ="tabit(this)" > 名医讲堂 </ li >
< li  id ="tabap3_btn_3"  onclick ="tabit(this)" > 名医讲堂 </ li >
< li  class ="lst"  id ="tabap3_btn_4"  onclick ="tabit(this)" > 影坛热点 </ li >
</ ul >

JS

 

function  tabit(btn)
{
    
var idname = new String(btn.id);
    
var s = idname.indexOf("_");
    
var e = idname.lastIndexOf("_")+1;
    
var tabName = idname.substr(0, s);
    
var id = parseInt(idname.substr(e, 1));
    
var tabNumber = btn.parentNode.childNodes.length;    //IE和FF的值不同    
        
    
for(i=0;i<tabNumber;i++)
    
{
        
if(document.getElementById(tabName+"_div_"+i)!=null)    //这里需要进行判断
        {
        document.getElementById(tabName
+"_div_"+i).style.display = "none";
        document.getElementById(tabName
+"_btn_"+i).style.backgroundImage = "url(pic/t-1-2.gif)";
        document.getElementById(tabName
+"_btn_"+i).style.borderBottomColor = "#D7F2DA";
        document.getElementById(tabName
+"_btn_"+i).style.cursor = "pointer";
        }

    }

    document.getElementById(tabName
+"_div_"+id).style.display = "block";
    btn.style.backgroundColor 
= "#fff";
    btn.style.borderBottomColor 
= "#fff";
    btn.style.cursor 
= "default";
}

 在IE上menuList的childNodes.length的值为5,而在Firefox值为11.因此我们在使用childNodes对象时需要先对其判断或去掉空格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值