D3.js D3删除退出返回的元素的父元素

D3.js D3删除退出返回的元素的父元素,d3.js,D3.js,以下代码将删除旧路径: 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="lin

以下代码将删除旧路径:

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
元素?

正确的方法是将数据绑定到
g
元素,以便对其进行操作。做你所要求的事情的快捷而肮脏的方法是如下

join.exit().each(function() { d3.select(this.parentNode).remove(); });

隐马尔可夫模型。。。原来我绑定到了
g
,所以我只需将
selectAll('path')
更改为
selectAll('g')
。一定是在什么地方搞混了。谢谢你的回答!只要堆栈溢出允许,我就接受。太好了!很高兴知道你一直在做正确的事情:)D3的第一天。只是举例说明P