一个功能不适用于IE8,但适用于谷歌浏览器和Firefox。
XmlDom包含xml数据
$(XmlDom).find('Message').each(function(){
if($(this).attr('id')==id)
{
msg= $(this).find('messageText').text();
}
});
plz help
这是示例数据
<Messages>
<Message id="4">
<messageText>text tenvcnvxtn.</messageText>
</Message>
<Message id="5">
<messageText>text textn.</messageText>
</Message>
</Messages>
答案 0 :(得分:3)
新版本的jQuery不支持IE8或以下版本。如果您需要支持它们,请使用migration plugin或支持IE8的jQuery版本。
1.9.1例如。
jQuery 1.x
jQuery 1.x系列在jQuery 1.9.0之后发生了重大变化。我们强烈 建议你也使用jQuery Migrate插件 从1.9之前版本的jQuery升级或需要使用插件 尚未更新。阅读jQuery 1.9 Upgrade Guid e和 jQuery 1.9 release blog post了解更多信息。
jQuery 2.x
jQuery 2.x与jQuery 1.x具有相同的API,但不支持 Internet Explorer 6,7或8. jQuery 1.9升级中的所有注释 指南也适用于此处。由于IE 6/7/8仍然比较常见, 我们建议使用1.x版本,除非您确定没有IE 6/7/8 用户正在访问该网站。请阅读2.0 release notes 小心。
答案 1 :(得分:0)
在IE8中,它使用HTML文档。它无法识别XML。 如果要使用XML,则需要通过IE XML解析器对其进行解析。
var XmlDom = "<messages>" +
"<message id=\"msg1\">" +
"<messageText>message 1</messageText>" +
"</message>" +
"<message id=\"msg2\">" +
"<messageText>message 2</messageText>" +
"</message>" +
"<message id=\"msg3\">" +
"<messageText>message 3</messageText>" +
"</message>" +
"</messages>";
var id = "msg2";
var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.loadXML(XmlDom);
if (xml.parseError.errorCode != 0) {
var err = xml.parseError;
console.log(err.reason);
}
$("messages", xml).find("message").each(function(){
if($(this).attr("id") == id) {
msg = $(this).find("messageText").text();
console.log(msg);
}
});