如何获取fancytree中节点的所有子节点?
问题描述:
我想在fancytree中设置节点的图标。如何获取fancytree中节点的所有子节点?
$("#tree").fancytree({
// Image folder used for data.icon attribute.
imagePath: "skin-custom/",
// icon: false,
renderNode: function(event, data) {
// Optionally tweak data.node.span
var node = data.node;
// Some logic here
}
});
我想经过该节点的孩子,如果他们全部选中,设置一个特定的图标:我在网上的例子,我可以使用renderNode这样做的发现。但是当我得到孩子的时候,我只能得到一级孩子,这意味着我没有得到这个孩子的孩子。 有什么办法可以达到这个目的吗? 在此先感谢
答
renderNode
回调仅在需求时调用,例如,新节点,当状态改变时,或当调用node.renderStatus()
时。
,如果你需要计算图标,您可以使用icon option:
$(...).fancytree({
icon: function(event, data) {
return data.node.isSelected() ? "a" : "b";
},
...
});
您可以使用此模式来遍历所有节点:
node.visit(function(n){
console.log(n.isSelected());
});
非常感谢您的回复。我会确认图标选项。我已经使用'node.visit(function(n){console.log(n.isSelected()); });'function。但它不会遍历所有节点。它仅迭代根和第一级儿童。我不会回到根的孩子的孩子。但仍然非常感谢:) – arvind
访问方法将遍历**所有**后代(当然除了卸载的懒惰节点) – mar10