2011-02-09 24 views
2

我想解析一個HTML字符串在Internet Explorer中使用jQuery,基於:Parsing HTML String with Ajax/jQuery。 這裏是代碼:在Internet Explorer中的JQuery不能解析字符串html

alert(result); 
alert($(result)); 

第一個警告提示HTML,但第二警報只是給了我對象。在Firebug Lite控制檯上,它給了我一個空白對象:[]!

console.log(result) 
console.log($(result)) 

結果是一個很大的XHTML代碼,它是通過AJAX調用接收的。 相同的代碼適用於Firefox ..

任何人都有任何想法爲什麼會發生這種情況? 您的幫助非常感謝..!

+0

你爲什麼要這麼做?沒有警報(HTML)你想要什麼? – benhowdle89 2011-02-09 12:03:31

+0

你可以添加更多的代碼嗎?結果如何被檢索?如果你可以得到一部分XHTML結果代碼 – StrouMfios 2011-02-09 12:05:18

回答

1

沒有看到的HTML代碼,這很難說,但我會猜你打,當你被無效地試圖把它是不允許的元素出現在「未知的運行錯誤」

您會發現,jQuery通過創建分離元素並將(X)HTML應用於該元素的innerHTML屬性,從(X)HTML中構建DOM。 FWIW,如果您通過XHTML或HTML,瀏覽器都不在乎,除非您提供的XHTML MIME類型會給您帶來更大的問題。如果您考慮下面的純JS代碼:

var p = document.createElement("p"); 
p.innerHTML = "<li>Test</li>"; 

Internet Explorer中拋出一個非常無益的「未知的運行錯誤」,而Firefox將盡最大努力搶救無效HTML。

我建議您將您的XHTML通過W3C Validator並檢查是否存在驗證錯誤。