我有一段创建(使用D3.js)包含图表的svg
元素的JavaScript代码。我希望使用AJAX基于来自web服务的新数据来更新图表,问题是每次单击更新按钮时,它都会生成一个新的svg
,因此我希望删除旧的或更新其内容。
下面是我在其中创建svg
的JavaScript函数的一个片段
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
如何删除旧的svg
元素或至少替换其内容?
发布于 2012-06-06 17:30:10
以下是解决方案:
d3.select("svg").remove();
这是D3.js提供的remove
函数。
发布于 2014-06-17 02:43:16
如果你想摆脱所有的孩子,
svg.selectAll("*").remove();
将删除与svg关联的所有内容。
发布于 2014-03-31 20:40:31
在附加svg元素时设置id属性还可以让d3稍后通过id在此元素上选择so remove():
var svg = d3.select("theParentElement").append("svg")
.attr("id","the_SVG_ID")
.attr("width",...
...
d3.select("#the_SVG_ID").remove();
https://stackoverflow.com/questions/10784018
复制相似问题