[英]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的最佳方法嗎?
parseXML是SVG 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.