当前位置: 移动技术网 > IT编程>开发语言>JavaScript > msn上的tab功能Firefox对childNodes处理的一个BUG

msn上的tab功能Firefox对childNodes处理的一个BUG

2019年07月31日  | 移动技术网IT编程  | 我要评论
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对象时需要先对其判断或去掉空格。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网