[英]JsTree get html attribute from a node that is not rendered
我已經開始使用JsTree,但在導航節點時遇到了麻煩。 我使用了一個HTML列表來創建樹視圖,並且在創建樹時所有信息都顯示在頁面上,沒有其他AJAX調用。
選擇父節點時,我希望從所有子節點獲取信息(一些自定義HTML屬性)。 選擇父母時,我使用:
data.instance.get_node("[id='" + value + "']");
在“ changed.jstree”事件上,該事件返回節點和我需要的所有信息(包括所有子項)作為完整的jQuery對象。
但是,如果未在屏幕上繪制(父級未展開)時使用同一行從子級獲取信息,則返回“ false”,而不是jQuery對象。
創建JsTree時,我還使用以下行嘗試在創建它時加載所有節點:
jQuery(controlSelector).jstree("load_all");
難道我做錯了什么? 如果未呈現子節點並且未擴展父節點,是否可以從子節點獲取信息?
謝謝
您可以使用所選節點的children_d
屬性來獲取其所有子節點的ID。 檢查下面的代碼和demo- Fiddle 。
var selectedNodes = $('#container').jstree().get_selected(true);
for(var i=0, len=selectedNodes.length; i<len; i++) {
// access id's with selectedNodes[i].children_d ...
}
我發現所有未渲染的數據都存儲在
jQuery("#container").jstree(true)._model.data
然后,我遍歷樹上的所有節點,並使該節點與我設置的條件語句匹配,以檢索調用時需要的條件:
tree.get_node("#value");
如果當前未在屏幕上繪制該節點,則返回false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.