Javascript JsTree从未呈现的节点获取html属性

Javascript JsTree从未呈现的节点获取html属性,javascript,jquery,html,jstree,Javascript,Jquery,Html,Jstree,我已经开始使用JsTree,在导航节点时遇到了问题。我使用了一个HTML列表来创建树视图,在创建树时,所有信息都显示在页面上,没有其他AJAX调用 选择父节点时,我希望从所有子节点(一些自定义HTML属性)获取信息。选择我使用的父级时: data.instance.get_node("[id='" + value + "']"); 在“changed.jstree”事件中,该事件将节点和我需要的所有信息(包括所有子项)作为完整的jQuery对象返回 但是,如果使用同一行从未在屏幕上绘制的子对象

我已经开始使用JsTree,在导航节点时遇到了问题。我使用了一个HTML列表来创建树视图,在创建树时,所有信息都显示在页面上,没有其他AJAX调用

选择父节点时,我希望从所有子节点(一些自定义HTML属性)获取信息。选择我使用的父级时:

data.instance.get_node("[id='" + value + "']");
在“changed.jstree”事件中,该事件将节点和我需要的所有信息(包括所有子项)作为完整的jQuery对象返回

但是,如果使用同一行从未在屏幕上绘制的子对象(父对象未展开)获取信息,则返回“false”,而不是jQuery对象

在创建JsTree时,我还使用以下行尝试在创建JsTree时加载所有节点:

jQuery(controlSelector).jstree("load_all");
我做错什么了吗?如果未呈现子节点且父节点未展开,是否有方法从子节点获取信息


谢谢

您可以使用所选节点的
children\u d
属性获取其所有子节点的id。检查下面的代码并演示-

var selectedNodes=$(“#容器”).jstree().get_selected(true);

对于(var i=0,len=selectedNodes.length;i我发现所有未渲染的数据都存储在

jQuery("#container").jstree(true)._model.data
然后,我循环遍历树上的所有节点,并将该节点与我设置的条件语句相匹配,以检索调用所需的内容:

tree.get_node("#value");

如果当前未在屏幕上绘制节点,则返回false。

谢谢您的回答,我可以获取子项ok,这是我在检索时遇到问题的子项的jQuery对象。当父项未展开时,如果使用子元素的ID获取该子元素的jQuery对象,jQuery将只返回布尔值“false”而不是在屏幕上绘制作为子节点的信息。它是我试图获取的未渲染节点的jQuery对象。您将如何处理隐藏节点的jQuery对象?获取我添加到节点的自定义HTML属性,对于我使用的每个节点:node.li_attr[“数据类型”]要获取一些信息,我需要解析。但是子节点隐藏时不会呈现。您不需要jquery对象。只需使用
var node=$('#container').jstree()按id获取节点即可。获取节点(selectedNodes[I]。children#d[y])
,其中
y
是第二个循环中子循环的索引,并从那里作为
节点访问
li\u attr
。li\u attr
是的,我以前使用过get\u节点,但如果它没有在屏幕上绘制,它似乎返回“False”。我所做的是通过“树”模型数据进行循环有条件地满足我的需要。谢谢你的帮助。
tree.get_node("#value");