欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-01-23 14:56:04
firefox对childnodes处理的一个bug      childnodesfirefox在处理childnode...
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对象时需要先对其判断或去掉空格。