如何在Jstree中通过ID获取节点

时间:2015-07-21 23:34:55

标签: jquery jstree

我创建了一个jstree,我遇到了一个问题,即通过jstree的id获取节点。 当我使用get_node时,我收到一个错误:

  

TypeError:$(...)。jstree.get_node不是函数

这是html代码:

<div style="height: 75%; margin: 0; width: 100%;">
                    <div id="dashboardTree" style="border: 0; height: 99%; margin: 0; margin-top: 2px; overflow: auto; width: 99%;">
                    </div>
                </div>

这是javascript:

$(document).ready(function () {
initDashboardArchiveTree();//Initial tree
var node = $('#dashboardTree').jstree(true).get_node('1')//get that error
});

如何在jsTree中通过id获取节点?这段代码有什么问题?

3 个答案:

答案 0 :(得分:9)

试试这个:

var node = $('#dashboardTree').jstree(true).get_node('1, true')

新增加:true

改变这个:

var node = $('#dashboardTree').jstree(true).get_node('//something')

对此:

var node = $('#dashboardTree').jstree(true).find('//something');

获取父级的JSON并找到孩子。

阅读jstree/JSON上的文档。

答案 1 :(得分:5)

要使节点使用此:
$('#dashboardTree').jstree(true).get_node('1');

如果您需要实际的DOM节点,请使用以下命令: $('#dashboardTree').jstree(true).get_node('1', true);

但是只有在树准备好后才调用它:

$('#dashboardTree').on('ready.jstree', function (e, data) {
  var node = data.instance.get_node('1');
})
initDashboardArchiveTree(); //Initial tree

答案 2 :(得分:0)

应该帮助这个人


.on("hover_node.jstree", function (e, data) {
    let node_id = data.node.id
    let block   = data.instance.get_node(node_id, true)
...