我们可以用jquery上一级节点吗?

can we go one level up node using jquery?

本文关键字:一级 节点 jquery 我们      更新时间:2023-09-26

我用jtree做了一个树形视图的演示,我能够移动下一个和上一个元素可选。点击"b",现在它是可选择的,然后按下一步和上一个,它移动活动类。当用户选择"b-a"时,我们可以使用"上一级按钮",当用户点击下一级按钮时,它会到达"b-b",上一级按钮会到达"b-a"。

它永远不会上升一层我们可以用"上升一层按钮"再上升一层吗然后它就会转到"b"http://jsfiddle.net/fuu94/60/

$('#next').click(function () {
    if($('.jstree-clicked').closest('li').next().length)
        $('.jstree-clicked').removeClass('jstree-clicked').closest('li').next().find('a:eq(0)').addClass('jstree-clicked')
});
 $('#pre').click(function () {
     if($('.jstree-clicked').closest('li').prev().length)
        $('.jstree-clicked').removeClass('jstree-clicked').closest('li').prev().find('a:eq(0)').addClass('jstree-clicked')
});
    $('#onelvel').click(function () {
    alert('one level up')
});

如果用户在"b"并按"above level",它应该像前面一样?可以吗?

试试这个,

$('#onelvel').click(function () {
    if($('.jstree-clicked').length){
        $('.jstree-clicked').click();
        if($('.jstree-clicked').closest('.jstree-children').prev('.jstree-anchor').length){
            $('.jstree-clicked').removeClass('.jstree-clicked');
            $('.jstree-clicked').closest('.jstree-children').prev('.jstree-anchor').addClass('.jstree-clicked');
        }
    }
});

现场演示

已更新 try this,

$('#onelvel').click(function () {
    if($('.jstree-clicked').length){
        if($('.jstree-clicked').next('.jstree-children').length){
            $('.jstree-clicked').click();
        } else {
            $('.jstree-clicked').closest('.jstree-children').prev('.jstree-anchor').click().addClass('jstree-clicked');
        }         
    }
});

更新演示