Javascript 删除jsTree中的所有节点

Javascript 删除jsTree中的所有节点,javascript,jquery,jstree,Javascript,Jquery,Jstree,有没有一种从jsTree中清除所有节点的方法比逐个删除所有节点更快?调用。在根节点上删除(节点)。请参阅此处的文档: .delete_节点(node) 删除一个节点。触发事件 mixed node 这可以是DOM节点、jQuery节点或指向 要删除的元素 看起来你可以只做一个选择器,删除所有你想要的节点,不需要循环。我找到的最简单的方法就是在包含树的div上调用.empty $('#tree').empty(); 您可以选择使用更具体的选择器作为empty()的参数,但这对我来说很好。以下调

有没有一种从jsTree中清除所有节点的方法比逐个删除所有节点更快?

调用
。在根节点上删除(节点)

请参阅此处的文档:

.delete_节点(node)

删除一个节点。触发事件

mixed node
这可以是DOM节点、jQuery节点或指向 要删除的元素


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

我找到的最简单的方法就是在包含树的div上调用
.empty

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

您可以选择使用更具体的选择器作为
empty()
的参数,但这对我来说很好。

以下调用将销毁jsTree的当前实例,删除所有绑定的事件侦听器,显然可以实现删除所有节点的最终目标。但不得不说,这种方法有点过分了

$("#DivElementContainingYourTree").jstree("init");
这就是我的工作。首先销毁jstree元素和相关事件,然后清空包含jstree的div。

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

这似乎确实有效。我一直在使用remove(),但它不起作用。myJsTree.delete_node(treeDiv.find('>ul>li');我对它的熟悉程度很低,但似乎你可以简单地将其清理为选择器本身,而不是节点本身。类似于
myJsTree.delete_node('[treeDiv]>ul>li')的东西
如果你也使用$(“#tree”).empty().jstree('destroy');@DanielJordan是的,更好,因为没有destroy你无法构建新的jstree…感谢jstree的最新版本:$(元素)。jstree(“destroy”);在用新数据更新jstree时为我工作。谢谢。它引发了一系列异常。
$('#jstree').parent().html('<div id="#jstree"></div>');
myTree.delete_node(myTree.get_node("#").children);