以下代码将删除旧路径:
var join = svg.selectAll('path').data(data, function (d) {
return d.label;
});
join.exit().remove();
我要删除的每个path
元素都包含在g
元素中,其中包含我要删除的所有内容。
<g class="item">
<text class="line-text">Label</text>
<path class="line" d="..." style="stroke: #2ca02c;"></path>
</g>
所以我真正想要做的就是删除g
元素,但调用.remove()
只会删除path
元素。如何删除整个g
元素?
答案 0 :(得分:2)
执行此操作的正确方法是将数据绑定到g
元素,以便对其进行操作。做你要求的快速而肮脏的方法如下。
join.exit().each(function() { d3.select(this.parentNode).remove(); });