请问如何在 ie 中使用 jQuery 的 .html() 方法获取 xml 对象中的内容?


我想使用 .html() 获取 xml 对象中的数据,下面的代码在 Chrome 中可以使用,但是在 ie 中报错 无法获取未定义或 null 引用的属性“replace”


 var xmlDoc;
var txt = '<?xml version="1.0" encoding="UTF-8"?><clc><test>123</test></clc>';
if (window.DOMParser)
{
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.loadXML(txt);
}
$(xmlDoc).find('clc').html();

Chrome 中输出 "<test>123</test>"
ie11 中输出 无法获取未定义或 null 引用的属性“replace”

但是使用 $(xmlDoc).find('clc').text(); 却是可以的,输出 "123"

我暂时的解决办法是吧 xml 对象转换成 string 用正则获取了。

jquery xml internet-explorer JavaScript

Akyar 10 years, 7 months ago

如果你的clc里面就是文本可以像这样

123]]>

可以使用 nodeValue;来获取。!

Rock小吉 answered 10 years, 7 months ago

Your Answer