小编Mkn*_*408的帖子

删除d3 svg元素以进行重绘

我希望你能帮助我,因为这让我疯了!

所以我试图用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);

  });
Run Code Online (Sandbox Code Playgroud)

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

d3.select("#"+id+'_verticallinecontainer').remove();
Run Code Online (Sandbox Code Playgroud)

这将删除容器和元素.然后我继续使用上面的代码重新绘制svg.

我的问题是,当它再次附加svg它会做两次,我不明白为什么!似乎d3以某种方式缓存svg,再次添加它.

希望你能帮助清除什么是错的,任何帮助将不胜感激!

html javascript xml svg d3.js

2
推荐指数
2
解决办法
2万
查看次数

标签 统计

d3.js ×1

html ×1

javascript ×1

svg ×1

xml ×1