请问如何在 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 用正则获取了。

阅读 4.6k
1 个回答

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

123]]>

可以使用 nodeValue;来获取。!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题