如何识别节点为根节点?

Edd*_*onk 4 javascript jquery jquery-plugins jstree

我想在现有节点内部或之下创建一个节点,具体取决于它是否是根节点。(树部件通常是树列表或没有可见根节点的树。)

我尝试了 get_parent,但我如何知道它是否是根节点?

var parent = $("#demo1").jstree('_get_parent', $("#foo"));
var node = $("#demo1").jstree('_get_node', $("#foo"));
Run Code Online (Sandbox Code Playgroud)

让我困惑的是 get_node 似乎返回与 get_parent 相同的对象。

我正在使用 jstree_pre1.0_fix_1。

编辑:

我最终检查了父母的父母的已知 ID。

var node = $(e.replyto);
if (node.length) {
  if (node.parent().parent().attr('id') == 'demo1') {
    $("#demo1").jstree("create_node", node, 'last',{'attr': {'id':e.id}, 'state':'open', 'data': e.data}) ;
  } else {
    $("#demo1").jstree("create_node", node, 'after',{'attr': {'id':e.id}, 'state':'open', 'data': e.data}) ;
  }
} else {
    $("#demo1").jstree("create_node", -1, 'after',{'attr': {'id':e.id}, 'state':'open', 'data': e.data});
}
Run Code Online (Sandbox Code Playgroud)

Nad*_*urf 5

您可以在节点上调用get_parent() 。如果返回“#”,则该节点是根节点。例如:

var node = ...;

if($('#demo1').jstree(true).get_parent(node) == '#') {
    // node is a root node
}
Run Code Online (Sandbox Code Playgroud)