在OPEN_ALL之后,不会选择jsTree子节点

时间:2013-01-04 12:59:21

标签: jstree

我用下面的代码行成功打开了一个jsTree节点分支。

$('#jsTree').jstree("open_all", currentNode);

在这一行之后,我需要选择currentNode的第一个孩子。为此,我在下面写了一行代码。

currentNode = currentNode.children("ul").children("li:first");

但是,它没有用!

任何建议都会有所帮助。

2 个答案:

答案 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];
相关问题