javascript - 无法从带有箭头的 D3 力定向图中删除链接

标签 javascript d3.js graph directed-graph

我正在尝试创建一个可以动态添加和删除节点的图表。可以使用“添加节点”按钮创建新的独立节点,然后我可以使用右键单击上下文菜单选项“创建子节点”创建节点的子节点。可以使用“删除节点”选项删除节点。

我这里有一个工作 fiddle ,其中链接没有箭头来表示方向: http://jsfiddle.net/ztvcb2a4/

我想要完全相同的行为,但箭头表示从父节点到子节点的方向。当我尝试通过附加箭头来修改它时,我遵循与输入和退出选择完全相同的逻辑,但我在使用 exit.remove() 时不断收到此错误。也许我在这里遗漏了一些我无法弄清楚的东西。 “未捕获的类型错误:未定义不是一个函数”

路径变量在函数 update 之外定义为全局变量。

var path = svg.append("svg:g").selectAll("path");        

这是函数 update() 内链接的进入和退出选择代码:

path = path.data(force.links(), function(d) { return d.source.id + "-" + d.target.id; })        
path.enter().append("svg:path")
.attr("class", "link")
.attr("marker-end", "url(#end)");

path.exit.remove(); 

修改后的 fiddle : http://jsfiddle.net/427pzrsc/

最佳答案

您需要使用path.exit().remove();exit 时缺少括号。

关于javascript - 无法从带有箭头的 D3 力定向图中删除链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25535510/

相关文章:

javascript - 如何将 CSS 选择器解析和提取为字符串?

javascript - 相当于jquery中的angularjs拦截器

javascript - D3 V4多系列折线图: Adding data points to lines with same color as lines

javascript - D3js高亮栏一一连续

algorithm - 加权 n 着色问题算法

javascript - 理解 Double return 语句是 Javascript

javascript - 从函数和事件处理程序访问相同的变量

javascript - d3 力链接未连接

java - 在 JUNG 上重绘图形

在给定图中查找具有最小范围的生成树的算法