我们可以使用jquery进入一个级别的节点吗?

我使用jstree进行树视图的演示。我能够移动下一个和前一个元素可选。 Ecample单击“b”现在可以选择,然后按next和之前它移动活动类。 当用户选择“ba”时,我们可以使用“一级向上按钮”向上一级,当用户点击下一步时,它会到达“bb”,之前它会变为“ba”。

它永远不会达到一个级别我们可以使用“一级向上按钮”升级一级然后转到“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”并按“水平以上”,它应该表现得像prevoius? 我可以吗?

试试这个,

 $('#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'); } } }); 

现场演示

更新试试这个,

 $('#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'); } } }); 

更新的演示