【问题标题】:How to get title of immediate parent of a child node in jsTree?如何在jsTree中获取子节点的直接父节点的标题?
【发布时间】:2012-10-25 10:35:58
【问题描述】:

如何获取 jsTree 中子节点的直接父节点的标题。 我尝试了以下代码,但它给了我 html li 元素,我想要父元素的标题。

var parent = data.inst._get_parent(data.rslt.obj);

请帮忙

【问题讨论】:

  • 如何调用上面的代码?你能提供jsfiddle吗?
  • 嗨 Radek,我已经在 jsTree 的绑定函数中编写了给定的代码。这是代码- .bind("select_node.jstree", function(e,data){ var parent = data.inst._get_parent(data.rslt.obj); //var parent = data.rslt.obj.parents( "li"); })

标签: jstree


【解决方案1】:

在jQuery中使用parents获取所有的parents,被li过滤掉,因为jstree中所有的树项都是li,试试这个:

var parents = data.rslt.obj.parents("li");
And for children use children in jQuery, like so:

var children = data.rslt.obj.parent().find('li');

jsTree : How to get IDs of selected nodes to root node in jsTree?

【讨论】:

  • 感谢您的回复brightboy!我也试过了,但是如何获取父节点的标题/文本?
  • 请提醒 data.rslt.obj 检查此对象的属性。
  • 我检查了属性,发现一个名为“text”的属性,但它给出了从根节点开始的每个节点的文本。我只想要直系父母的文字。请对此提供帮助。
  • 对此有任何帮助。我急需这个。
【解决方案2】:
.bind("select_node.jstree", function (e, data) {
  var parent=data.inst._get_parent(data.rslt.obj);
  alert(parent.find('a').first().text()); 
}); 

请注意,您必须使用ui 插件才能使用._get_parent 函数

工作jsfiddle

【讨论】:

  • 感谢拉德克的回复。但是我在使用“parent.find('a').first().text()”时遇到以下错误 - “TypeError: parent.find is not a function”。请帮忙。
  • 正如您在我的 jsfiddle 中看到的那样,它可以工作。所以你需要仔细检查你的代码、语法、定义了所有必要的插件、jstree的版本、jquery等......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多