在ff 下 ,一个空格也看作一个节点 ,所以你这样操作嘛 ,肯定是不行了可以这样:
先 if(obj.childNodes(i).nodeType != 3){//dosomething}就可以啦 ,偶觉得还好啦
  

解决方案 »

  1.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <style type="text/css">
    .SortList4_Sort2_AllItem_class{ float:left; display:none;}
    </style>
    <script language="javascript" type="text/javascript">
    function showsort1(obj)
     {  
        for(var i=1;i<obj.childNodes.length;i++)
        {
            if(obj.childNodes[i].tagName)
            { 
                if(obj.childNodes[i].tagName == "DIV")
                {
    if(obj.childNodes[i].id=="SortList4_Sort1_Img_5") continue;
                    obj.childNodes[i].style.display = "block";
                    obj.childNodes[i].style.position = "absolute";
                    obj.childNodes[i].style.top = (i*25)+"px";
                    obj.childNodes[i].style.left = (obj.offsetLeft+90)+"px";
                }     
            }
        } 
       
     }
    function hiddensort1(obj)
    {    for(var i=1;i<obj.childNodes.length;i++)
        {
            if(obj.childNodes[i].tagName)
            { 
                if(obj.childNodes[i].tagName == "DIV")
                { 
    if(obj.childNodes[i].id=="SortList4_Sort1_Img_5") continue;
                    obj.childNodes[i].style.display = "none";
                }
            
            }
        
        }}
    </script>
    </head><body>
    <div id="SortList4_Sort1_Item_5" class="SortList4_Sort1_Item_Div" onmouseover="showsort1(this);" onmouseout="hiddensort1(this);">
                <div id="SortList4_Sort1_Img_5" class="SortList4_Sort1_Img_Div">
                    <a href="/Pages/NewsSort.aspx?Sort1=6&amp;Sort2=1" target="_parent" title="防火监督"><img src="../images/Sort/2007111512324.gif" alt="防火监督" /></a>
                </div><div id="SortList4_Sort2_AllItem_id_5" class="SortList4_Sort2_AllItem_class">
                    <div id="SortList4_Sort2_Item_5_0" class="SortList4_Sort2_Item_Div">
                        <div id="SortList4_Sort2_Titel_5_0" class="SortList4_Sort2_Titel_Div">
                            <ul>
                                <li><a href="/Pages/NewsSort.aspx?Sort1=6&amp;Sort2=1&amp;Sort3=1" target="_parent" title="执法监督">执法监督</a></li>
                            </ul>
                        </div>
                    </div>
                    <div id="SortList4_Sort2_Item_5_1" class="SortList4_Sort2_Item_Div">
                        <div id="SortList4_Sort2_Titel_5_1" class="SortList4_Sort2_Titel_Div">
                            <ul>
                                <li><a href="/Pages/NewsSort.aspx?Sort1=6&amp;Sort2=2&amp;Sort3=1" target="_parent" title="防火检查">防火检查</a></li>
                            </ul>
                        </div>
                    </div>            </div>
            </div>
    </body>
    </html>
      

  2.   

    在ff   下   ,一个空格也看作一个节点   ,所以你这样操作嘛   ,肯定是不行了 
    ==============================================================
    if(obj.childNodes[i].tagName) 
                    {   
                            if(obj.childNodes[i].tagName   ==   "DIV") 这里已经过滤掉了空节点
      

  3.   

    兄台加了这句
    if(obj.childNodes[i].id=="SortList4_Sort1_Img_5")   continue; 
    对于我的程序来说是不行的
    因为我给出的只是一段代码而已
    不可能每个都要对id进行判断
    “SortList4_Sort1_Img_5”
      

  4.   

    用了tantaiyizu兄台的方法
    if(obj.childNodes(i).nodeType   ==   1)或者if(obj.childNodes(i).nodeType   !=   3)
    至少在FF中子菜单不会全都消失。
    obj.childNodes(i).nodeType   和obj.childNodes[i].nodeType   
    区别还是很大的
      

  5.   

    用了tantaiyizu兄台的方法 
    if(obj.childNodes(i).nodeType == 1)或者if(obj.childNodes(i).nodeType != 3) 
    至少在FF中子菜单不会全都消失。 
    obj.childNodes(i).nodeType       和obj.childNodes[i].nodeType       
    区别还是很大的
    FF好像不认obj.childNodes(i)吧,对数据访问的时候FF的标准应该是中括号。
    所以只好反其道而行之
    做一个不兼容FF的,不能实现可能也不造成其它错误
      

  6.   

    1:Element;
    2:Attribute;
    3:Text;