删除d3 svg元素以重画

麦克尼1408

希望您能帮助我,因为这让我发疯!

所以我试图使用d3重画svg。在我的代码中,使用以下命令添加svg:

d3.xml("Images/vertical_line.svg", "image/svg+xml", function(xml) {

  var importedNode = document.importNode(xml.documentElement, true);
  var svg = d3.select('#'+id+'_verticallinecontainer').node().appendChild(importedNode);

  });

当我的更新函数被调用时,我然后继续删除该元素:

d3.select("#"+id+'_verticallinecontainer').remove();

这将删除容器和元素。然后,我再次使用上面的代码重新绘制svg。

我的问题是,当它再次追加svg时,它会执行两次,而我不明白为什么!似乎d3以某种方式缓存了svg,然后再次添加了它。

希望您能帮助您找出问题所在,如有任何帮助,我们将不胜感激!

安第斯山脉

FIDDLE带有添加,删除和再次添加SVG和包含的圆的快速示例。希望这可以帮助。

function update() {
    svg.remove();
    svg = d3.selectAll("body").append("svg");
    svg.append("circle")
        .attr("cx",40)
        .attr("cy",40)
        .attr("r",20)
        .style("fill","blue");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

d3删除svg不透明度

来自分类Dev

D3删除退出返回的元素的父项

来自分类Dev

D3 Javascript:删除和更新元素

来自分类Dev

节点删除的D3更新始终删除SVG DOM中的最后一个条目

来自分类Dev

D3更新箱形图中的数据,而无需先删除先前的SVG

来自分类Dev

D3在过渡时从时标中删除旧元素

来自分类Dev

如何使用d3有条件地删除元素?

来自分类Dev

D3从选择中的一个元素中删除点击事件

来自分类Dev

组中的d3元素未正确删除

来自分类Dev

D3:从元素的绘制中分离数据退出/删除/合并

来自分类Dev

SVG元素的D3多行工具提示

来自分类Dev

D3事件在隐藏的svg元素上触发

来自分类Dev

在d3中获取所选svg元素的类

来自分类Dev

在mouseenter(D3)上放大svg组元素

来自分类Dev

元素上的d3 mouseover与svg mousemove冲突

来自分类Dev

d3 vs. svg处理元素时

来自分类Dev

D3:将滤镜添加为SVG元素的背景

来自分类Dev

D3:基于svg元素更改数据

来自分类Dev

为D3和SVG元素创建动画

来自分类Dev

d3 SVG线元素未触发onclick事件

来自分类Dev

如何切换 D3 SVG 元素的位置

来自分类Dev

如何转换像素以转换d3中的值?

来自分类Dev

SVG外部的d3轴渲染

来自分类Dev

增大d3 SVG容器的尺寸

来自分类Dev

D3 Scale SVG儿童

来自分类Dev

D3强制布局DIV与SVG

来自分类Dev

[D3] [SVG]缩放至对象

来自分类Dev

d3 SVG中的Angular指令

来自分类Dev

d3从数组创建SVG路径