欢迎来到福编程网,本站提供各种互联网专业知识!

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

发布时间:2008-01-21 作者: 来源:转载
今天公司用到一个tab功能发现msn上的不错,但是在firefox兼容不好,msn他们的方法就是用了不少的div包含,不过网上有高人解决了。
Firefox对childNodes处理的一个BUG
childNodesFirefox在处理childNodes没有过滤换行与空格。所以在初次使用的时候,得到效果不是预期的效果。
HTML
复制代码 代码如下:

理财大学B
名医讲堂
名医讲堂
名医讲堂
影坛热点


JS
复制代码 代码如下:
functiontabit(btn)
{
varidname=newString(btn.id);
vars=idname.indexOf("_");
vare=idname.lastIndexOf("_")+1;
vartabName=idname.substr(0,s);
varid=parseInt(idname.substr(e,1));
vartabNumber=btn.parentNode.childNodes.length;//IE和FF的值不同
for(i=0;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对象时需要先对其判断或去掉空格。

相关推荐