簡體   English   中英

JsTree從未呈現的節點獲取html屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM