有没有办法清除jsTree中的所有节点,比通过逐个删除它们的所有节点更快?
答案 0 :(得分:13)
我找到的最简单方法是在包含树的div上调用.empty
。
$('#tree').empty();
您可以选择使用更具体的选择器作为empty()
的参数,但这对我来说很好。
答案 1 :(得分:11)
请参阅此处的文档:http://www.jstree.com/documentation/core
.delete_node(node)
删除节点。触发事件。
mixed node
这可以是指向的节点,jQuery节点或选择器 你要删除的元素。
看起来你可以做一个选择器来删除你想要的所有节点,不需要循环。
答案 2 :(得分:9)
$('#tree').jstree("destroy").empty();
这对我有用。首先销毁jstree元素和相关事件,然后清空包含jstree的div。
答案 3 :(得分:1)
在根节点上调用.remove(node)
。
答案 4 :(得分:1)
myTree.delete_node(myTree.get_node("#").children);
答案 5 :(得分:0)
以下调用将销毁jsTree的当前实例,删除任何绑定的事件侦听器,显然实现了删除所有节点的最终目标。但这种方法有点过分杀人,不得不说。
$("#DivElementContainingYourTree").jstree("init");
答案 6 :(得分:0)
$('#jstree').parent().html('<div id="#jstree"></div>');