2011-06-09 446 views

回答

9

在这里看到的文档:http://www.jstree.com/documentation/core

.delete_node(节点)

删除一个节点。触发事件。

mixed node 

这可以是一个DOM节点,jQuery的节点或选择指向你想要删除的 元素。

看来你可以做一个选择器,将删除所有你想要的节点,不需要循环。

+0

这似乎工作。我一直在使用remove(),并且它不工作。 – 2011-06-09 19:13:42

+0

myJsTree.delete_node(treeDiv.find('> ul> li'); – 2011-06-09 19:25:18

+0

我的熟悉程度很低,但看起来你可以将它清理成简单的选择器本身,而不是节点本身,沿着'myJsTree .delete_node('[treediv]> ul> li');' – 2011-06-09 19:28:48

1

在根节点上调用.remove(node)

12

我发现的最简单的方法是简单地在包含树的div上调用.empty

$('#tree').empty(); 

您可以选择使用更具体的选择,作为empty()参数,但这个工作正常,我。

+5

这是一件很好的事情,如果你也按照 $('#tree')。empty()。jstree('destroy'); – 2013-04-19 18:16:07

+1

谢谢 – Dani 2017-03-30 15:04:56

0

以下调用将销毁jsTree的当前实例,删除所有绑定的事件侦听器,并显然实现您移除所有节点的最终目标。但这种方法有点过分杀人,必须说。

$("#DivElementContainingYourTree").jstree("init"); 
+0

为jstree的最后一个版本: $(元素).jstree(“destroy”); – SuperCuke 2014-03-13 14:27:49

9
$('#tree').jstree("destroy").empty(); 

这是对我工作。首先销毁jstree元素和相关事件,然后清空包含jstree的div。

+0

谢谢你..它为我工作aswell ... – Rajashekhar 2015-07-30 11:26:35

+0

为我工作,同时用新数据更新jstree。谢谢。 – 2015-08-04 09:07:35

0
$('#jstree').parent().html('<div id="#jstree"></div>');