我不知道,如果使用另一種語言(在JavaScript引擎的頂部)時一個選項。如果這是任何幫助,這將是這樣做的的XQuery(XQIB)的方式:
<script type="application/xquery">
serialize(b:dom()//div)
</script>
例如,在以下頁面,序列化的XHTML寫成的網頁,而不是腳本標籤上的文字,在div標籤後面:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Serializing part of the DOM</title>
<meta charset="UTF-8"/>
<script type="text/javascript" src="mxqueryjs/mxqueryjs.nocache.js"></script>
</head>
<body>
<div>
<hr>
<img src="/foo.png">
</div>
<script type="application/xquery">
serialize(b:dom()//div)
</script>
</body>
</html>
HTML DOM被映射到XQuery數據模型(XML上的數據模型)。 b:dom()返回頁面的文檔節點,// div導航到所有後代div標籤。序列化函數然後將其序列化爲一個字符串。
但是,這將適用於IE9 +(不是6+)和最新版本的Chrome,Firefox,Safari,Opera。
你以後的瀏覽器兼容性是什麼? [這適用於我的Firefox和Chrome](https://developer.mozilla.org/en/XMLSerializer)。雖然我不知道IE。我發現他們使用了一個包裝,比如'if(!window.XMLSerializer){window.XMLSerializer = function(){}; window.XMLSerializer.prototype.serializeToString = function(XMLObject){return XMLObject.xml || ''; };}',儘管我不知道它是哪個瀏覽器(Mac - >沒有要測試的IE)。 –
**現場演示:** http://jsfiddle.net/qUwXE/(但它在Chrome和Safari中不起作用) –
@ŠimeVidas:謝謝......實際上,我在解析的XML文檔上使用它,也在Chrome中工作。太糟糕了,它不適用於HTML。 –