0

デモ。コンソールを見る

Scenes.xml がセクションのリストであると仮定しましょう

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

定義済みのpreload隠しブロックです。この xml を $.ajax (もちろん 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

$.parseXMLXML を解析する場合に使用します。

于 2012-07-23T13:24:16.097 に答える