【发布时间】:2011-02-22 20:52:26
【问题描述】:
Safari 总是表现出一些奇怪的行为,最好用一个代码示例(在 JavaScript 中)来演示:
var xml = "<whatever><status>success</status><title>interface update</title><details>just an example</details></whatever>"
var $jquery_xml = jQuery(xml);
var $jquery_xml.html();
最后一行应该返回:
<status>success</status><title>interface update</title><details>just an example</details>
但是,它实际上返回:
<status>success</status><details>just an example</details>
标签已被删除!关于为什么以及如何在仍然使用 jQuery 的同时解决这个问题的任何想法?
【问题讨论】:
-
可能是因为
<title>是一个特殊的标签,它在头部的使用只是一种预感:) -
嗨,我和 Val 的意见相同。它在 IE8 上也失败,但在 Firefox 上有效。如果您将标签更改为
<titles>..</titles>,它适用于所有这些浏览器,包括 Safari。 -
我也认为是这样。但这有点令人担忧,因为很多 XML 文档都有
标签,以及出现在 HTML 中的其他标签。我不确定这是否只是删除它们的原因——它是有效的 XML,对吗?也许我应该考虑在 Safari 上使用 jQuery 以外的东西进行解析? -
有效的 XML 但无效的 HTML。当要求 jQuery 将 XML 转换为 HTML 时,您对 jQuery 有什么期望?
标签: javascript jquery xml parsing safari