我注意到SVG中沒有document.write
。SVG 1.1 Javascript參考
目前我在尋找類似的功能。
Unfortunatley我找不到列出所有與SVG DOM相關或支持的功能(例如與文檔對象相關的功能)的網站。
你是否知道我可以找到SVG文檔的任何在線資源,尤其是與scriptin(類似於JAVADOC)相關的資源。
我注意到SVG中沒有document.write
。SVG 1.1 Javascript參考
目前我在尋找類似的功能。
Unfortunatley我找不到列出所有與SVG DOM相關或支持的功能(例如與文檔對象相關的功能)的網站。
你是否知道我可以找到SVG文檔的任何在線資源,尤其是與scriptin(類似於JAVADOC)相關的資源。
不能使用文件撰寫,因爲SVG是XML的功能/性能,不標記湯。
如果要導入完整的XML節點,您必須手動完成或使用標準DOM importNode方法。例如,如果您從AJAX中檢索XML節點,請首先使用responseXML將響應解析爲XML,然後使用document.importNode方法導入它,以便您可以在SVG文檔中使用它並將其與一個標準的DOM方法(appendChild或insertBefore)。
的svg spec from w3c列出了指定的(但我不知道是否所有的瀏覽器都實現規範正確)
謝謝你的回答。我發現這個網站時,谷歌搜索,但我找不到與「文件」相關的功能...... – 2010-08-03 13:16:14
正如已經提到的XMLHttpRequest是一個選項。
另一個是(非W3C標準)DOMParser接口,除了IE之外的所有瀏覽器都支持足夠好的接口,可用於在腳本中實現類似於document.write
的東西。
另一種選擇是HTML5方法innerHTML/outerHTML
(請注意,舊版瀏覽器會嘗試將字符串解析爲HTML4,這將不起作用,並且根據文檔mimetype的不同,解析xml的方式也有所不同)。
如果我們繼續,有DOM 3 Load & Save和SVG Tiny 1.2中定義的parseXML方法。
您在HTML頁面中使用的大部分標準DOM API也適用於SVG。 W3C DOM specification是一個很好的開始,但你也可以看看w3 schools DOM reference and tutorials。
對於所有SVG特定的DOM接口,我認爲最好的參考是SVG specification。每個部分都有一個名爲「DOM接口」的小節,它精確地描述了您要查找的內容。
你有什麼想法我可以先刪除所有節點,然後添加我需要的,通過使用importNode? – 2010-08-03 13:45:06
是的。 replaceChild方法!如果你可以讀法語(或者即使你不能,只要看例子),你應該閱讀http://svground.free.fr/dom.php#clonage 這裏是簽名: myparentnode.replaceChild (newDomElement,DOMNodeToReplace)。 您可以使用parentNode屬性輕鬆獲取父節點。例如, :daddy = document.getElementById('nodeToReplace')。parentNode; – Tangui 2010-08-03 16:43:48