不同浏览器下DOM元素操作
IE下一般这样做:
var xmlDom= new ActiveXObject("Microsoft.XMLDOM");
为了兼容Firefox,需要修改为:
if (window.ActiveXObject){
var xmlDom= new ActiveXObject("Microsoft.XMLDOM");
}
else{
if (document.implementation&& document.implementation.createDocument){
var xmlDom= document.implementation.createDocument("","",null);
}
}
在使用DOM操作XML文件时,我们可以使用Load方法直接加载文件路径即可,在IE和Firefox下通用。但是如果传入的是XML字符串,则在两种浏览器下就会有所不同,IE下可以使用LoadXML方法直接调入下XML串,在Firefox下则不存在该方法,因此要使用W3CDom方式,具体如下:
var oParser=new DOMParser();
xmlDom=oParser.parseFromString(xmlStr,"text/xml");
为兼容各种浏览器,我们这样去做即可:
try{
xmlDom.loadXML(xmlStr);
}catch(e){
var oParser=new DOMParser();
xmlDom=oParser.parseFromString(xmlStr,"text/xml");
}