我一直在试图找出如何检查一个节点是否是jstree中的一个叶子,但是所有信息似乎都是关于jstree的先前版本并且已经废弃了,据我所知......
所以我有以下内容:
$('#jstree').jstree();
$('#jstree').on("changed.jstree", function (e, data) {
console.log(data.selected);
});
更改回调为我提供了控制台中所选id的输出。但是,我如何获得有关它们是否是叶子(没有孩子)的信息?
我想它必须遍历一些数组,因为上面的代码可以为多个选定的节点(我想要的)提供id,就像在控制台中一样:
[“3”,“4”]
但我无法弄清楚如何做到这一点。我一直在搜索文档,但是对于我的jquery技能水平它没有帮助,它似乎只列出了对象和事件等等(例如“is_leaf”列在“类型插件”下),但我找不到如何编码的例子。我不知道在哪里放置类型插件,如果这是我需要的,也不知道is_leaf部分,以便得到我上面描述的每个选定节点...
答案 0 :(得分:2)
只需在节点上使用is_leaf函数。
答案 1 :(得分:1)
jstree中的每个叶节点都有
class='jstree-leaf'
在其HTML中。所以你可以在
中查看$.each(function(e,data){ });
中的
.bind('loaded.jstree',function(e,data){
//code here
});
检查树中是否存在类。加载事件中的每个循环遍历jstree中的所有节点。
希望你有所了解。您可以参考文档中的语法。
如有任何疑问,请与我联系。
答案 2 :(得分:0)
if ($('#jstree').jstree().jstree.get_selected(true)[0].children == 0)
//Do Something
因此,这将检查所选项目是否有任何子项,如果没有,则继续。