Javascript D3 TypeError:link.exit不是函数link.exit().remove();我做错了什么?

Javascript D3 TypeError:link.exit不是函数link.exit().remove();我做错了什么?,javascript,d3.js,Javascript,D3.js,我正在做一个D3树布局。我看了所有的地方,当您没有将数据绑定到DOM并试图删除它时,似乎会出现此错误。我不仅确保那里有数据,而且还通过在修改前后对links数组进行计数来确保数据的更改 这是我的更新函数中的问题代码 link = linkElements.selectAll("path.link") //link elements is dom object that holds my links .data(links).enter().append("path") .

我正在做一个D3树布局。我看了所有的地方,当您没有将数据绑定到DOM并试图删除它时,似乎会出现此错误。我不仅确保那里有数据,而且还通过在修改前后对links数组进行计数来确保数据的更改

这是我的更新函数中的问题代码

    link = linkElements.selectAll("path.link") //link elements is dom object that holds my links
    .data(links).enter().append("path")
    .attr("class", "link")
    .attr("d", diagonal);

    link.exit().remove();
这与许多例子基本相同,但我一直看到:

TypeError: link.exit is not a function

link.exit().remove();

发生了什么事?我对节点执行类似的操作。我无法从树中删除任何内容。

请注意
链接被分配到的内容:

link = linkElements.selectAll("path.link")
  .data(links)
.enter() // <----- THIS
  .append("path")
  .attr("class", "link")
  .attr("d", diagonal);
link = linkElements.selectAll("path.link")
  .data(links);// link assigned
link.enter() // <----- THIS
  .append("path")
  .attr("class", "link")
  .attr("d", diagonal);
link.exit().remove(); // no more errors!