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 如何使用Snap.svg操作现有的组元素_Javascript_Svg_Snap.svg - Fatal编程技术网

Javascript 如何使用Snap.svg操作现有的组元素

Javascript 如何使用Snap.svg操作现有的组元素,javascript,svg,snap.svg,Javascript,Svg,Snap.svg,我们有一个现有的svg文档,我们想用一个新的元素替换一个组元素。可以使用Snap.svg吗 var oldGroup = Snap.select("[id='" + oldGroupId + "']"); oldGroup.outerSVG(newGroup); //This is what I want to do but outerSVG is readonly 不能仅使用outerSVG中继元素。您没有包含足够的信息来给出完整正确的答案,因为我们无法看到现有元素是什么,但可能是这样的

我们有一个现有的svg文档,我们想用一个新的元素替换一个组元素。可以使用Snap.svg吗

var oldGroup = Snap.select("[id='" + oldGroupId + "']");

oldGroup.outerSVG(newGroup); //This is what I want to do but outerSVG is readonly

不能仅使用outerSVG中继元素。您没有包含足够的信息来给出完整正确的答案,因为我们无法看到现有元素是什么,但可能是这样的

var parent = oldGroup.parent();
oldGroup.remove();
parent.add( newGroup ) 
这将取决于什么是“新集团”。如果它是DOM元素,我认为它会工作。如果只是一些SVG标记,您可能需要执行以下操作

parent.add( Snap.parse( newGroup ) );

伟大的非常感谢。可以在Chrome和IE 9中使用。这可能会影响绘图顺序,但现在不是问题。如果是这样,您可以使用element.after()/before()在删除旧元素之前将新元素附加到正确的位置。