D3.js可折叠树 – 展开/折叠节点

我有一个D3.js可折叠树,它有一堆节点,如下图所示 在此处输入图像描述

现在我想在展开节点时折叠所有其他节点。 例如,如果analytics node被扩展,那么它应该折叠data node 。 我正在引用D3.js可折叠树 – 展开/折叠中间节点,但它没有多大帮助。

将点击function更改为此

 function click(d) { for (var i = 0; i < d.parent.children.length; i++) { if (d.parent.children[i].name !== d.name) { console.log(d.parent.children[i]) if (d.parent.children[i].children) { d.parent.children[i].children = d._children; d.parent.children[i].children = null; } } }; if (d.children) { d._children = d.children; d.children = null; } else { d.children = d._children; d._children = null; }; update(d); } 

希望能帮助到你

我在Przemek提示的帮助下得到了解决方案。 现在它完美运作。 🙂

 function click(d) { var index; for(var i=0;i