<script language=javascript>
function secBoard(n,menuT,mainT,sec1T,sec2T)

{     for (i = 0; i < menuT.childNodes.length; i++) {
        menuT.childNodes[i].className = sec1T;
        menuT.childNodes[n].className = sec2T;
    }
    for (i = 0; i < mainT.childNodes.length; i++) {
        mainT.childNodes[i].style.display = "none";
        mainT.childNodes[n].style.display = "block";
    }
}
</script>这段代码 是控制菜单的 显示隐藏的!  IE下一切正常  火狐浏览器不行 帮忙看下 该如何修改

解决方案 »

  1.   

    menuT 通过 document.getElementById()获取,不要直接使用id
      

  2.   

    可能性1:
    LZ请看这里http://bianbian.org/technology/21.html 看看是否是childNodes的问题2:
    同2L所说, menuT是如何传入的? 如果是document.all.menuT的话 那么只有IE能支持. 在传入的时候请细写为document.getElementById("xxxx");
      

  3.   

    主要是childNodes的问题,比如:
    <div id="main">
    <div>1</div>
    </div>
    document.getElementById("main").childNodes.length = 2;
    因为“1”在火狐中是被当做一个文本节点要兼容最好使用jquery,下面代码没有测试,你可以试一下
     function secBoard(n,menuT,mainT,sec1T,sec2T)
    {
        // 假设你的菜单标签是Div
        var sMenuT = $(menuT).find("> div"); // 获取主菜单下的子元素,孙元素不会被获取到
        $.each(sMenuT, function(){
            $(this).attr("class", sec1T);
        });
        sMenuT[n].attr("class", sec2T);
        
        var sMainT = $(mainT).find("> div");
        $.each(sMainT, function(){
            $(this).css("display", "none");
        });
        sMainT[n].css("display", "block");
    }