<script language=javascript>
function secBoard(n)
{
var menus = document.getElementById('jfdh_menu');
var mains = document.getElementById('jfdh_display'); for(i=0;i<menus.childNodes.length;i++){
 if(menus.childNodes[i].nodeType==1)
 
 menus.childNodes[i].className="button_jfgl";
 menus.childNodes[n].className="button_jfgl_1";}
 
 for(i=0;i<mains.childNodes.length;i++){
 if(mains.childNodes[i].nodeType==1) 
 
 mains.childNodes[i].style.display="none";
 mains.childNodes[n].style.display="block";}
 
}
</script>在IE就正常的

解决方案 »

  1.   

    好像是没有定义 type  属性吧
      

  2.   

    哪个地方要加,怎么加,还请指教,在IE里是完全正常的,就在FF
      

  3.   

    var menus = document.getElementById('jfdh_menu');
    因为在FF中,空白也是menus的子元素,它无style属性,而IE中无此种情况。
      

  4.   

    menus.childNodes.length改为menus.children.length
      

  5.   

    在火狐下面你用firebug调试一下吧。看看是提示什么错误的信息。
      

  6.   

    用getElementsByTagName 代替 childNodes
      

  7.   


    提示的是:
    mains.childNodes[n].style is undefined
    错误源是: mains.childNodes[n].style.display="block";}
      

  8.   


    还是不行,在IE里正常,在FF里内容不会切换。
      

  9.   

    var menus = $("#jfdh_menu").val();
    var mains = $("#'jfdh_display").val();
      

  10.   

    因为childNodes在IE下和FF下取的东西不一样。
    IE下只取标签 <a></a>这样
    FF下包括文本建议解决方法
    如果LZ想偷懒。就把 标签里的换行都去掉吧直接就解决了。。
    或者在循环里加个if 判断nodeType  标签和文本的nodeType是不一样的
      

  11.   

    nodeType在ie里和w3c标准不一样   你先输出一下看看  然后再设定不同的条件判断语句
      

  12.   


    nodeType在ie里和w3c标准不一样 你先输出一下看看 然后再设定不同的条件判断语句。
    ......
    基本上是这个问题。可代码怎么写啊,各位提供的方案我都试过了,在FF都不起效果,有些在IE里也失去了效果。
    哪位高手写一个完整的,可同时在IE与FF下运行的JS代码。
      

  13.   


    在循环里加个if 判断nodeType 标签和文本的nodeType是不一样的
    要实现这个,代码怎么写?高手指教。急啊
      

  14.   

    function secBoard(n){
    var menus_childs = document.getElementById('jfdh_menu').children,
    mains_childs = document.getElementById('jfdh_display').children;

    for(var i=0;i<menus_childs.length;i++){
    menus_childs[i].className="button_jfgl";
    }
    menus_childs[n].className="button_jfgl_1";

    for(var i=0;i<mains_childs.length;i++){
    mains_childs[i].style.display="none";
    }
    mains_childs[n].style.display="block";
    }