我使用下面的代码行成功打开了一个 jsTree 节点分支。
$('#jsTree').jstree("open_all", currentNode);
在这一行之后,我需要选择 currentNode 的第一个孩子。为此,我写了下面的代码行。
currentNode = currentNode.children("ul").children("li:first");
但是,它不起作用!
任何建议都会有所帮助。
我使用下面的代码行成功打开了一个 jsTree 节点分支。
$('#jsTree').jstree("open_all", currentNode);
在这一行之后,我需要选择 currentNode 的第一个孩子。为此,我写了下面的代码行。
currentNode = currentNode.children("ul").children("li:first");
但是,它不起作用!
任何建议都会有所帮助。
这行代码只会打开指定节点的子节点(即currentNode)
$('#jsTree').jstree("open_all", currentNode);
您正在使用的下一条语句仅将 currentNode 的引用从父节点更新到第一个子节点。
currentNode = currentNode.children("ul").children("li:first");
该语句与节点的选择无关。要选择第一个子节点,您必须显式调用 select 方法
$('#jsTree').jstree("select_node", currentNode);
注意:根据您的数据源,您可能无法使用上述代码获得第一个孩子的参考。在我的测试用例中,具有 JSON 数据源,可以通过
currentNode = currentNode.children("ul").children("li")[0];
或者
currentNode = currentNode.children("ul").children("li:first")[0];
您必须选择新的当前节点:$('#jsTree').jstree("select_node", currentNode);
。