簡體   English   中英

將SVG字符串附加到dom

[英]appending SVG string to dom

我正在嘗試將svg元素字符串添加到dom。 這是我的設置。

var oFragment = '';
for (var i = 0; i < 10; i++) {
oFragment += '<g><path id="note-'+i+'" d="M 6,3 84,6  c 0,0 -6,76 14,91  L 58,97 19,89  c 0,0 -24,-5 -13,-86 z" style="fill:#ffc835;" /></g> ';
}

這是我嘗試過的。 它給出以下錯誤:“未定義parseXML”

var oSVG = document.getElementById("svg-wall").getSVGDocument();
var oNotes = oSVG.getElementById('notes');
oNotes.appendChild(parseXML(oFragment, document));

所以我的問題是:我在做錯什么,這甚至是將svg字符串附加到dom的最佳方法嗎?

parseXMLSVG Tiny 1.2的一部分,但AFAIK目前不支持任何Web瀏覽器使用SVGGlobal接口方法。 但是,完全可以使用其他技術來實現它。 如果看一下我的這篇博客文章的底部, 電影中的SVG為2 ,您會發現一個簡單的包裝器腳本,該腳本實現了parseXML (在Opera,firefox和webkit中應該可以正常工作)。 有關使用此腳本的示例,請查看該博客文章中的演示源。

我認為沒有一個免費的函數叫做parseXML (您是否缺少某些函數?)。

而且由於您還是要處理DOM,是否只是不直接將元素插入DOM?

for (var i = 0; i < 10; ++ i) {
   var path = document.createElement("path");
   path.setAttribute("id", "note-" + i);
   ...
   var g = document.createElement("g");
   g.appendChild(path);
   oNotes.appendChild(g);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM