Javascript 向dom追加SVG字符串

Javascript 向dom追加SVG字符串,javascript,xml,svg,Javascript,Xml,Svg,我试图将一个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> '; } 所以

我试图将一个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> ';
}

所以我的问题是:我做错了什么?这是将svg字符串附加到dom的最佳方式吗?

我认为没有一个名为
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);
}
for(变量i=0;i<10;++i){
var path=document.createElement(“路径”);
setAttribute(“id”,“note-”+i);
...
var g=document.createElement(“g”);
g、 附加子对象(路径);
附肢儿童(g);
}

是的一部分,但目前任何web浏览器都不支持SVGGlobal接口方法AFAIK。但是,完全可以使用其他技术来实现它。如果你看看我这篇博文的底部,你会发现一个简单的(在opera、firefox和webkit中应该可以很好地工作)。有关使用此脚本的示例,请查看该博客文章中演示的来源。

thx!好的,我会那样做的。我希望有一个更快、更短的解决方案,比如jquery中的innerHTML或html()。有一个根元素我正在将其插入到中。@Wieringen:不,您正在创建10个
。我知道,但oNotes是一个带有id的gnotes@Wieringen:啊,那么是
?我想那很好。是的:)它起作用了!!!只有我需要用createElements(“”,'g')替换createElement();
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);
}