永发信息网

jstree判断是否有下级节点

答案:3  悬赏:60  手机版
解决时间 2021-11-28 11:27
jstree判断是否有下级节点
最佳答案
有3种方法:
    用is_parent( node)方法, node传节点ID或节点对象, 有下级节点则返回true.
    用is_leaf(node)方法, 此方法表示是否为最末级, 刚好和is_parent相反.
    在事件中获取node对象, 其中node.child为包含所有直接子节点的数组, node.child.length === 0 则没有下级节点.
示例:
html
JavaScript
var $tree = $('#tree');
$tree.jstree({
    core: {
        data: [
            { id: '1', parent: '#', text: "1" },
            { id: '2', parent: '1', text: "11" },
            { id: '3', parent: '1', text: "12" },
            { id: '4', parent: '2', text: "111" }
        ]
    }
});

$tree.on('ready.jstree', function () {
    //jQuery风格
    $tree.jstree('is_parent', '2'); //true
    $tree.jstree('is_leaf', '2'); //false
    
    //使用jstree实例对象操作
    var tree = $tree.jstree(true);
    tree.is_parent('4'); //false
    tree.is_leaf('4'); //true 
    
    //注意: jstree的初始化是一个异步过程, 如果上述代码没有放在初始化完成的事件中,将不会得到正确的结果,因为执行代码时,jstree还没生成.
});

//jstree事件中的应用
$tree.on('select_node.jstree', function (e, data) {
    var node = data.node;
    if(node.child.length > 0)
        console.log('此节点有下级节点');
        
    var tree = data.instance;
    if(tree.is_parent(node)) //这里无需tree.is_parent(node.id), is_parent方法可以node对象作为参数.
        console.log('此节点有下级节点');     
});
全部回答

get_children_dom(obj)看官方文档。

在DhtmlXtree中可以用tree.getLeafCount(itemId)获取节点下的子节点数,如果你想计算的是根节点下所有的子节点的话,可以先用上面的计算出根节点下的子节点数然后在有循环判断这些子节点中那个有孩子节点然后在根据tree.getLeafCount(itemId)计算此节点下的字节点数,依次循环直至最后。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
杜蕾斯有没有没有香味的系列 ?为什么都有香
单选题燃烧电池是燃料(如CO、H2、CH4等)跟氧
二位三通电磁阀(17mA),并5个在一块,为什么
此皆进学之道也 进什么意思
新华保险尊逸人生养老金保险怎么样
云卷知风涌 花开见春浓什么意思
单选题曼哈顿岛东河河畔,有一座联合国城.来
CEMS备件的使用有哪些注意事项
为何世界上有腐女这种神奇的生物
亲亲亲亲亲亲 这是什么歌曲
诸神混乱之女神陷阱讲的是什么意思啊
徐州一院和二院之间远不远,从二院怎么到一院
数学乘法怎么做?
岁的“岁”字的起源
老虎真人cs拓展基地地址好找么,我有些事要过
推荐资讯
马加耳刀念什么
白色裤子脏了来不及洗怎么清理
秒赚广告是什么
数学函数问题。
股东与实际控股人有什么区别
我想请问,养蛇项目怎么样?有哪些风险
vc++ 感觉无法优化了,但速度还是比c#慢是怎
请问canon有eds的相机吗,如果有,请问eds和e
中国从什么时候开始有色狼这个称呼的?拜托各
天书奇谈上官红怎么打?
全棉时代纯棉婴儿手口湿巾怎么样?
算命的说你遇到了乙木这个贵人是什么意思呢
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?