Javascript 如何将SVG元素从字符串添加到DOM
我想添加SVG,它包括从字符串到DOM的rect和use标记 我不像以前那样工作Javascript 如何将SVG元素从字符串添加到DOM,javascript,svg,Javascript,Svg,我想添加SVG,它包括从字符串到DOM的rect和use标记 我不像以前那样工作 var文档字符串= '\ \ \ \ \ \ \ \ \ '; var newDocument=(new DOMParser()).parseFromString(documentAsString,“text/xml”); var container=newDocument.getElementById(“容器”); var useContainer=document.getElementById('use-co
var文档字符串=
'\
\
\
\
\
\
\
\
\
';
var newDocument=(new DOMParser()).parseFromString(documentAsString,“text/xml”);
var container=newDocument.getElementById(“容器”);
var useContainer=document.getElementById('use-container');
useContainer.removeChild(useContainer.firstElementChild);
useContainer.appendChild(container.getElementsByTagName('g')[0])代码>
SVG元素需要位于SVG名称空间中,即具有具有适当值的xmlns属性
var文档字符串=
'\
\
\
\
\
\
\
\
\
';
var newDocument=(new DOMParser()).parseFromString(documentAsString,“text/xml”);
var container=newDocument.getElementById(“容器”);
var useContainer=document.getElementById('use-container');
useContainer.removeChild(useContainer.firstElementChild);
useContainer.appendChild(container.getElementsByTagName('g')[0])代码>
好的,您对此有何解释?是因为container.getElementsByTagName('g')[0]
不会被视为SVG元素吗?XML就是这样工作的。您需要告诉XML解析器svg标记是svg,而不是其他标记的标记。例如,这就是XML解析器如何区分SVG
标记和html
标记。另一方面,html有一个从上下文推断名称空间的解析器。