Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将SVG元素从字符串添加到DOM_Javascript_Svg - Fatal编程技术网

Javascript 如何将SVG元素从字符串添加到DOM

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

我想添加SVG,它包括从字符串到DOM的rect和use标记

我不像以前那样工作

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有一个从上下文推断名称空间的解析器。