打印

读取DOM时childNodes在IE和FireFox的处理

我有一个如下的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<news>
<new>
<newstitle>07036b3abf039148c0ff47efe7ba63fa</newstitle>
</new>
<new>
<newstitle>849ac2c6e0bab0520b694c196db78bfb</newstitle>
</new>
<new>
<newstitle>4eca95742f4b3682127a61dd14904bc3</newstitle>
</new>
</news>

想要读取第一个newstitle里面的内容
在IE下为:getElementsByTagName("new")[0].childNodes[0].firstChild.nodeValue
在firefox下为:getElementsByTagName("new")[0].childNodes[1].firstChild.nodeValue
怎么解决这个问题啊?
一个是childNodes[0]
一个是childNodes[1]
晕死...

firefox是会认空白节点得

你把所有得结点挨着写不要换行就行了,呵呵,不够这样比较傻,你最好用.nodeType先判断节点类型比较好
firefox下好像空白也算一个节点,是比较郁闷。

TOP

认证您的手机,获得手机认证图标, 更多手机认证的好处
原来是这样,那只有先判断浏览器,然后用childNodes[0]或者childNodes[1]了
最近也遇到了这样的问题,真是恼人啊
ie支持childNodes[i].style,但是childNodes[i].style在fiefox下支持老是抱错
风了

TOP

给你一个函数:
复制内容到剪贴板
代码:
    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;
    }

TOP