|
childNodesFirefox在處理childNodes沒有過濾換行與空格。所以在初次使用的時候,得到效果不是預(yù)期的效果。
HTML
復(fù)制代碼 代碼如下:
<ul class="tbtn" ID="menuList">
<li class="curr" id="tabap3_btn_0" onclick="tabit(this)">理財大學(xué)B</li>
<li id="tabap3_btn_1" onclick="tabit(this)">名醫(yī)講堂</li>
<li id="tabap3_btn_2" onclick="tabit(this)">名醫(yī)講堂</li>
<li id="tabap3_btn_3" onclick="tabit(this)">名醫(yī)講堂</li>
<li class="lst" id="tabap3_btn_4" onclick="tabit(this)">影壇熱點</li>
</ul>
JS
復(fù)制代碼 代碼如下:
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對象時需要先對其判斷或去掉空格。
JavaScript技術(shù):msn上的tab功能Firefox對childNodes處理的一個BUG,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。