JQuery的。 text()似乎在IE8中不起作用

时间:2012-11-17 20:08:21

标签: javascript jquery xml

我将以下XML作为字符串:

<battery_content>
    <last_update>2012-15-09-22-40</last_update>
    <total_downloads>234</total_downloads>
    ......
</battery_content>

我从Ajax请求中获取XML并将其存储在sXMLData中。我快点window.alert(sXMLData),一切都很好。

当我在IE8中运行下一个代码时,它似乎不起作用。 Chrome和Firefox都可以使用。

window.alert("last_update" + $(sXMLData).find("last_update").text());

我似乎无法弄明白为什么。这种方法不适用于IE8吗?如果是这样,我该如何解决问题?

1 个答案:

答案 0 :(得分:3)

将“XML作为哑字符串”处理的正确方法是首先通过$.parseXML

 window.alert(
     "last_update" + $($.parseXML(sXMLData)).find("last_update").text());

但是,如果

,则无需手动执行此操作
  • 服务器返回XML Content-Type
  • 您使用dataType AJAX选项获取XML的AJAX请求指定应将响应视为XML

如果服务器在您的控制之下,请修复它以返回正确的内容类型。如果没有,请使用替代解决方案。我建议只有在您从第三方代码中获取有充分理由不想触摸的字符串时才手动解析XML。