我有一些基本的HTML,例如:
<body>
<svg id="msvg"></svg>
<body>
我想添加(例如)一个
<g><circle cx="10" cy="50" r="20"/><rect width="200" height="400" /> </g>
纳入我的SVG。
该元素在JavaScript中以字符串形式给出。
我已经考虑过这样的事情:
function addSVG(svg) {
var e = document.getElementById("msvg");
var nodeelem = document.createElementNS("http://www.w3.org/2000/svg", "template");
nodeelem.innerHTML = svg;
e.appendChild(nodeelem.content.firstChild);
}
但这是行不通的。
我正在使用Chromium Embedded,因此特定于Chrome的答案也不错。
最佳答案
要访问nodeelem
的第一个孩子,您需要使用nodeelem.firstChild
而不是nodeelem.content.firstChild
。
演示:https://jsfiddle.net/iRbouh/su3xrfd9/