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

时间:2021-05-26

Firefox对childNodes处理的一个BUG
childNodesFirefox在处理childNodes没有过滤换行与空格。所以在初次使用的时候,得到效果不是预期的效果。
HTML
复制代码 代码如下:
<ulclass="tbtn"ID="menuList">
<liclass="curr"id="tabap3_btn_0"onclick="tabit(this)">理财大学B</li>
<liid="tabap3_btn_1"onclick="tabit(this)">名医讲堂</li>
<liid="tabap3_btn_2"onclick="tabit(this)">名医讲堂</li>
<liid="tabap3_btn_3"onclick="tabit(this)">名医讲堂</li>
<liclass="lst"id="tabap3_btn_4"onclick="tabit(this)">影坛热点</li>
</ul>

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<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对象时需要先对其判断或去掉空格。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章