【发布时间】:2014-02-18 12:22:34
【问题描述】:
我有这个小提琴http://jsfiddle.net/Deansmithok/3HeU9/
我想删除一个节点(以及它的链接)
在我的最后一次尝试中:
我已将 DOM 中的 d.id 保存为 $('#inpSelidTAUsers').val() 然后尝试了这段代码...
svgGroup.selectAll('path.link').filter(function(d, i)
{
if (d.target.id == $('#inpSelidTAUsers').val() )
return true; else return false;
}).remove();
svgGroup.selectAll('g.node').data(nodes).filter(function(d, i)
{
if (d.id == $('#inpSelidTAUsers').val())
return true; else return false;
}).remove();
此代码确实删除了屏幕上的节点和链接。但是,如果我调用 DrawItAll(root),那么节点会重新出现。请告诉我如何删除节点以便它保持 GONE :)
【问题讨论】:
-
嗯,您要从 d3 选择中删除节点和链接,但不会从数据中删除。所以,一旦你再次渲染数据,它就会显示出来。还是我错过了什么?
-
当然我指的是代表节点和链接的数据。您需要从数据集中删除它。
-
嗨。你是对的 - 我没有更新数据集......只是我不知道该怎么做。我看不到如何访问数据集。
标签: javascript jquery node.js d3.js