2011-06-09 451 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>');