删除jsTree中的所有节点

时间:2011-06-09 19:02:01

标签: javascript jquery jstree

有没有办法清除jsTree中的所有节点,比通过逐个删除它们的所有节点更快?

7 个答案:

答案 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>');