skin/default/js/tabs.js 源文件中仅仅考虑了IE的情况,
写道
//在IE上空白节点不算DOM节点,在火狐上算
这一点没有注意,导致在火狐上出现代码错误... 修正的代码如下:
/*色色修改版: vb2005xu.iteye.com , 解决此文件在火狐浏览器空节点取属性值的错误*/ 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"; };