我用下面的代码行成功打开了一个jsTree节点分支。
$('#jsTree').jstree("open_all", currentNode);
在这一行之后,我需要选择currentNode的第一个孩子。为此,我在下面写了一行代码。
currentNode = currentNode.children("ul").children("li:first");
但是,它没有用!
任何建议都会有所帮助。
答案 0 :(得分:0)
您必须选择新的当前节点:$('#jsTree').jstree("select_node", currentNode);
。
答案 1 :(得分:0)
这行代码将仅打开指定节点的子节点(即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];