firefox下空白也算一个节点
可以用一下函数转换一下
 function extractNodes(pNode){
                if(pNode.nodeType == 3)
                        return null;
                var node,nodes = new Array();
                for(var i=0;node= pNode.childNodes[i];i++){
                        if(node.nodeType == 1)
                                nodes.push(node);
                }
                return nodes;
        }

解决方案 »

  1.   

    firefox下空白也算一个节点
    可以用一下函数转换一下
     function extractNodes(pNode){
                    if(pNode.nodeType == 3)
                            return null;
                    var node,nodes = new Array();
                    for(var i=0;node= pNode.childNodes[i];i++){
                            if(node.nodeType == 1)
                                    nodes.push(node);
                    }
                    return nodes;
            }
      

  2.   

    to:huo789(爱拼才会赢)
    大哥,你的函数写在哪呀!可以给我写一下么?
      

  3.   

    怎么我记得我好像回答过...
    FF没有text属性...
    就是urlnodeText.text这句...
    用textContent
      

  4.   

    用data吧!FF下空白TEXT NODE可以参考我原来写的一篇:
    http://blog.csdn.net/brothercat/archive/2006/08/23/1109869.aspx
      

  5.   

    to:chaircat(chaircat)
    我好像试过了一下,你说的方法!在safari中能正常显示!但到IE中却提示"undefined".
      

  6.   

    to:brothercat(猫猫不发威你当偶是Hello Kitty!) 
    你的BLOG的文章我读过了!确实不错!我也逐步alert过xmlhttprequest的对象!我想也可能是空白element的原因!但你的方法过滤,在重用时有点累!不知对不对
      

  7.   

    IE里面的属性是text,没有textContent
    但是FF里面就相反...
    自己看着办...
      

  8.   

    to:chaircat(chaircat)
    谢谢你!我刚才用textContent测试没问题
      

  9.   

    终于OK了!就是有点代码臃肿! var nodelist = prognode[i].childNodes[0];
    //处理XML中的空白节点
    while (nodelist.nodeType == "3"){
    nodelist = nodelist.nextSibling;
    }

    var menunodeText
    var urlnodeText
    //检测浏览器,处理node的值
    if (typeof nodelist.text != "undefined" ){
    menunodeText = nodelist.text;
    urlnodeText = nodelist.text;
    }else{
    menunodeText = nodelist.textContent;
    urlnodeText = nodelist.textContent;
    }

    nodebuffer = nodebuffer +"<li><a href='"+ urlnodeText + "'>"+ menunodeText +"</a></li>";
    }