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