tabs.js 源文件中仅仅考虑了IE的情况,在IE上空白节点不算,在火狐上算。等于在IE上数量为4,在火狐上就为9。这一点没有注意,导致在火狐上出现代码错误,解决此文件在火狐浏览器空节点取属性值的错误,修正的代码如下:
function $xudtitle(str){
document.title = str;
}
//在IE上空白节点不算,在火狐上算.等于在IE上数量为4,在火狐上就为9
function $xu(id){
return document.getElementById(id);
}
//是否元素节点
function $xuisele(id){
var node = $xu(id);
if(node && node.nodeType ==1)
return true;
return false ;
}
//取元素中第一个子元素节点
function $xufelenode(id){
var node = $xu(id);
while(node && node.nodeType !=1)
node = node.nextSibling();
return node ;
}
function $xushow(id){
$xu(id).style.display = "" ;
}
function $xublock(id){
$xu(id).style.display = "block" ;
}
function $xuhide(id){
$xu(id).style.display = "none" ;
}
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;
for(i=0;i<tabNumber;i++){
if ($xuisele(tabName+"_btn_"+i)) {
$xu(tabName+"_btn_"+i).className = "";
}
};
btn.className = "curr";
};
function etabit(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;
for(i=0;i<tabNumber;i++){
if ($xuisele(tabName+"_div_"+i)) {
$xuhide(tabName+"_div_"+i);
$xu(tabName+"_btn_"+i).className = "";
}
};
document.getElementById(tabName+"_div_"+id).style.display = "block";
btn.className = "curr";
};