我通过JS加载了一个外部XML文件,但在获取节点属性时发现不同的浏览得到的值不一样。
下面为代码中的一个片断:var flashXml = loaderXML.documentElement;
this.copyright = flashXml.getAttribute("copyright");
//var globalBasicXml = flashXml.childNodes[0].childNodes[0].childNodes[0];
//这种方式只实用于IE中,FF中无效。
var globalBasicXml = flashXml.children[0].children[0].children[0];
//这种方式只实用于FF中,IE中无效。
this.movieWidth = globalBasicXml.getAttribute("movieWidth");
alert(this.movieWidth);请问上面childNodes与children在不同浏览器中兼容的问题应该如何解决?

解决方案 »

  1.   

    var flashXml = loaderXML.documentElement;
    this.copyright = flashXml.getAttribute("copyright");
    var globalBasicXml
    if(document.all){
    globalBasicXml = flashXml.childNodes[0].childNodes[0].childNodes[0];
    //这种方式只实用于IE中,FF中无效。
    }else{
    var globalBasicXml = flashXml.children[0].children[0].children[0];
    //这种方式只实用于FF中,IE中无效。
    }
    this.movieWidth = globalBasicXml.getAttribute("movieWidth");
    alert(this.movieWidth);
      

  2.   

    谢谢楼上的,除了这种方法还有其它方法因为我还有很多类似var globalBasicXml = flashXml.children[0].children[0].children[0];这样的定义,感觉这种方法不太方便。
      

  3.   

    唉,一开始做这些东西用jq等框架就省事多了,现在大概有点思路就是修改prototype,但没办法测试,所以给不到代码,你再等等高手吧。
      

  4.   

    你再搜索一下有无现成文章吧,这个有帮助不http://www.cnblogs.com/yuzhongwusan/archive/2010/12/14/1905271.html