2012-07-23 19 views
0

demo。看到控制檯jquery html從xml

讓我們假設scenes.xml是部分名單

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

preload是一個預定義隱藏塊。 我加載此XML與$阿賈克斯(當然與數據類型:「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並使用文本()來獲得的HTML。但我想避免這種情況的解決方法,因爲每個部分是有效的XML或HTML

回答

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) 
-1

使用$.parseXML如果你解析XML。

+0

請重新閱讀問題。我使用$ .ajax和dataType:「xml」,它會自動調用parseXML。如果你不明白問題 - 請**不要在錯誤跟蹤器中關閉錯誤** – puchu 2012-07-23 13:38:54