我已经阅读了bl.ocks文档,并尽了最大的努力来保存d3树中使用的数据。
我正在使用此as my base code,现在它是SQL驱动的。
我已经在“ Coderino”的帮助下创建了代码,该代码遍历每个节点并返回其父子关系(请参见下文)
d3.selectAll('g.node')
.each(function(p){
p.children.map(function(c) {
alert( c.name +"("+ c.id+")"+ "- PARENT TO -" + p.name + "(" + p.id +")" )
});
});
但是,当我删除或添加节点时,它没有将其注册到children.map中。
我试图插入node.exit()。remove(); link.exit()。remove();到更新节点的代码中,似乎也没有影响。
有人知道我是否可以调用一个简单的函数然后运行循环,我必须包含新节点?
但是,如果我运行此循环
d3.selectAll('g.node')
.each(function(p){
alert( p.name )
});
它会看到新名称-也许需要以某种方式刷新的p.children.map吗? (我将如何实现!!)
进一步的测试表明,如果,您将附加到主节点(节点1)的函数将读取新节点,但是附加到任何子节点将不会看到它们...
感谢您阅读本文档和任何帮助,非常感谢您发表评论。