jsTree无法通过ID找到节点

jsTree can't find node by ID

我很容易在页面上实现 jsTree。

我尝试了很多不同网站上的很多建议。

$('#myTree').jstree({
....
})
.on('loaded.jstree', function (e, dta) {
    var t = $('#myTree').jstree(true);
    var n = t.get_node("myIDstring");
    console.log(t);
    console.log(n);
});

我在此 post 之前的最后一次尝试是尝试使用 .on(loaded.jstree) 回调,如上所示。但这与我尝试获取节点的位置没有任何区别。总是相同的结果。

console.log(t) 证明我有一棵树。在这种情况下,我看到我有一个 cnt of children = 217.

"myIDstring" 是从我在 console.log(t) echo 的 javascript 控制台中向下钻取的节点之一的 id 属性剪切和粘贴的。

console.log(n);仅回显 'false'.

如果我尝试 t.find(),我会在控制台中收到 find() is not a function 错误。

van n = $('#myTree').jstree(true).get_node("myIDstring"); 失败与 var n = t.get_node();

相同

谢谢。

PS:是的。我知道我也可以使用 dta 的值。但我的目标是不要在 .no('loaded.jstree')

中使用这段代码

当您刚刚加载根节点时,loaded.jstree 被触发。最好使用 ready.jstree 事件,如下所示。还要检查演示 - Fiddle Demo

$('#myTree')
.jstree({
    ...
})
.on('ready.jstree', function(){     
    var t = $('#myTree').jstree(true);
    var n = t.get_node("myIDstring");
    console.log(t);
    console.log(n);
}