【发布时间】:2019-07-08 05:41:06
【问题描述】:
我创建了一个 Jsfiddle HERE
将鼠标悬停在节点上会给您 4 个选项,绿色 - 添加,红色 - 删除 黄色和蓝色做其他事情 - 不用担心这些。
我将解释它的作用 - 当您按下“保存”按钮时,它会使用 children.map 函数遍历树的每个实例。这将返回我最需要的父子节点。
var onClick = function() {
d3.selectAll('g.node')
.each(function(p){
p.children.map(function(c) {
alert( c.name +"("+ c.id+")"+ "- PARENT TO -" + p.name + "(" + p.id +")"
)
});
});
};
如果我将其更改为:
d3.selectAll('g.node')
.each(function(p){
alert( p.name )
});
它将遍历所有名称,但无论调用地图,我都无法获取父子详细信息。
这并不总是有效,它的偶然性 - 如果你添加一些你很快就会看到的节点,这是我无法解决的问题。
我知道代码可以被清理,我相信你会坐在一些地方并认为他在做什么!请随时指出它们,因为我正在努力学习。
感谢您花时间阅读本文以及任何帮助或代码模块。
【问题讨论】:
标签: loops d3.js tree parent children