javascript - jsTree无法通过ID找到节点

标签 javascript jquery jstree

我可以轻松地在页面上实现 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);
});

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

console.log(t) 证明我有一棵树。在本例中,我看到我有 cnt 个 child = 217。

“myIDstring”是从我在 console.log(t) echo 的 JavaScript 控制台中深入查看的节点之一的 id 属性中剪切并粘贴的。

console.log(n);仅回显“假”。

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

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

谢谢。

PS:是的。我知道我也可以了解 dta 的值(value)。但我的目标是不使用 .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);
}

关于javascript - jsTree无法通过ID找到节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41623882/

相关文章:

javascript - 将 Vue.js 与 WebComponents 结合使用,例如 Polymer 的 Paper-Elements

javascript - 如何在复选框检查时将 div 移动到其父级的顶部?

javascript - ASP.NET 检测返回文件以隐藏图像

javascript - jQuery getJSON 跨域

javascript - 如何监听双击jstree?

javascript - Twitter Bootstrap 模式不工作

javascript - meteor 如何处理大量对较大文档的订阅?

jquery - 使用 jQuery 从 AJAX 响应(json)构建表格行

jstree - 使用 jstree 打开一个节点及其所有父节点

javascript - jsTree:如何获取之前选择的树节点ID?