在jstree中获取子节点的直接父节点

时间:2012-10-16 12:34:45

标签: javascript jstree

我想检索child node的父级,而不点击tree ..

data.inst._get_parent(data.rslt.obj).attr("id");

当我们点击child nodes时,上面的命令会给我直接的父母。

有没有办法在不点击parent node的情况下获取child node

此致 Praque M

2 个答案:

答案 0 :(得分:4)

似乎" data.inst"在较新版本中重命名为" data.instance"。这使得难以追踪解决方案

data.instance.get_parent(data.node)返回父级的字符串ID(对我来说很意外)。要获得父级,我必须在字符串ID上调用data.instance.get_node()

data.instance.get_parent(data.node)也可通过data.node.parent访问。

示例:

$('#MaterialCollectionTree').on('activate_node.jstree', function(e, data) {
  if(data.instance.is_leaf(data.node)) {
    alert("Leaf: " + data.node.text);
    alert("Parent: " +  data.instance.get_node(data.node.parent).text);
  }
});

答案 1 :(得分:2)

比它复杂一点

parent_node = $.jstree._reference('#tree_id')._get_parent(n);

变量parent_node是一个jquery对象,所以命令

parent_node.attr("something");

相同
$("#parent_node_id").attr("something");