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++){
                        document.getElementById(tabName+"_div_"+i).style.display = "none";
                        document.getElementById(tabName+"_btn_"+i).className = "";
                };
                document.getElementById(tabName+"_div_"+id).style.display = "block";
                btn.className = "curr";
};

解决方案 »

  1.   


    function etabit(btn8){
            var idname = new String(btn8.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 = btn8.parentNode.childNodes.length;
            for(i=0;i<tabNumber;i++){
                            document.getElementById(tabName+"_div_"+i).style.display = "none";
                            document.getElementById(tabName+"_btn8_"+i).className = "";
                    };
                    document.getElementById(tabName+"_div_"+id).style.display = "block";
                    btn8.className = "curr";
    };
      

  2.   

    楼上朋友,substr-> substring试试。没有成功哦。
      

  3.   

    或者说是firebug里报什么错??
      

  4.   

    上面的就是我的导航代码。网址是http://www.freeres.net/
      

  5.   

     var tabNumber = btn.parentNode.childNodes.length;
    火狐下是12!!!!
    包含了其他文本节点,修改下就好了
      

  6.   

      <!--插入二级导航--><tr>  <td class="nav_sub" id="show">...
    var tabNumber =document.getElementById("show").getElementsByTagName("div").length;
      

  7.   

    var tabNumber = btn8.parentNode.childNodes.length;这句的问题。有的浏览器把回车、空格也当成一个节点比如<tr>
    <td id="1">haha</td>
    <td id="2">gaga</td><td id="3">heihei</td>
    </tr>id="1"的td的孩子节点就是haha,而它的下一个兄弟节点却不是id="2"的td,而是它们中间的换行当成一个节点。id="2"的td和id="3"的td就不存在这种情况了。