我在网页中嵌入了一些SVG,需要复制特定的SVG节点(包括它的子节点),然后将其粘贴回DOM中。唯一的问题是,SVG节点在粘贴后不会出现,这可能是因为它是命名空间的。
那么,如何复制和粘贴命名空间的SVG节点?我想它会是某种递归函数。
P.S。目前正在使用jQuery的clone()方法来复制SVG节点。
测试SVG:
<g>
<rect>
<text></text>
<g>
<circle>
<rect>
</g>
</g>
如何递归地将该SVG添加到DOM中,记住应该使用createElementNS,因为SVG是命名空间的。
答案 0 :(得分:2)
似乎可以通过使用jQuery $ .parse XML函数来实现解决方案。
我感谢你。
答案 1 :(得分:1)
可能使用createElementNS
像
$(mySvg).append(document.createElementNS("http://www.w3.org/2000/svg", "circle"));
(来自Is it possible to work with jquery and Svg directly (no plugins)?)