+ -
当前位置:首页 → 问答吧 → 请问如何兼容childNodes与children

请问如何兼容childNodes与children

时间:2011-12-15

来源:互联网

我通过JS加载了一个外部XML文件,但在获取节点属性时发现不同的浏览得到的值不一样。
下面为代码中的一个片断:
JScript code

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在不同浏览器中兼容的问题应该如何解决?

作者: jackzhang1204   发布时间: 2011-12-15

为什么我的帧子总没有回复啊,是我问题没问清楚还是态度不够诚恳呢?

作者: jackzhang1204   发布时间: 2011-12-15

JScript code
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);

作者: p2227   发布时间: 2011-12-15

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

作者: jackzhang1204   发布时间: 2011-12-15

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

作者: p2227   发布时间: 2011-12-15

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

作者: p2227   发布时间: 2011-12-15