繁体   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