0

演示。见控制台

让我们假设scenes.xml 是一个部分列表

<sections>
  <section>
    <div...
  </section>
  ...
</sections>

并且preload是预定义的隐藏块。我正在使用 $.ajax 加载此 xml(当然使用 dataType:"xml")并尝试获取 html:

$(xmlData).find("section").each(function() {
  console.log(preload.empty().append(this).html())
})

除了 7-10 之外,它在任何地方都可以完美运行。它抛出:

 DOM Exception: HIERARCHY_REQUEST_ERR (3)
 in jquery.js (1.7.2) on line 6497

PS 当然我可以用CDATA包装每个部分并使用 text() 来获取 html。但我想避免这种解决方法,因为每个部分都是有效的 xml 或 html

4

2 回答 2

0

极端丑陋的解决方法:

preload.empty()
if($.browser.msie) {
  if($.browser.version == "7.0" or $.browser.version == "8.0") {
    preload.append($(xmlData.xml).filter("section"))
  } else {
    preload.append($(xmlData.xml).find("section"))
  }
} else {
  preload.append($(xmlData).find("section"))
}
html = preload.html()
preload.empty().html(html)
于 2012-07-23T11:57:03.050 回答
-1

$.parseXML如果您正在解析 XML,请使用。

于 2012-07-23T13:24:16.097 回答