使用javascript或jquery如何在构建树时自定义扩展树分支?

时间:2014-02-21 08:16:26

标签: javascript jquery html twitter-bootstrap tree

我想使用类似于链接http://jsfiddle.net/jhfrench/GpdgF/

中的引导程序来构建树

我设法通过在脚本中添加以下行来关闭所有树枝

$('.tree li').hide();
$('.tree li:second').show();

但这不是我想要的。

我想关闭树的一些分支并打开其他分支:

这是我使用的脚本:

 <script>
   $(function () {
   $('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');
   $('.tree li.parent_li > span').on('click', function (e) {
    var children = $(this).parent('li.parent_li').find(' > ul > li');
    if (children.is(":visible")) {
        children.hide('fast');
        $(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
    } else {
        children.show('fast');
        $(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
    }
    e.stopPropagation();
   });
});
</script>

-i有一些想法如何使这项工作,但我不知道如何实现它     我的想法是在html和javascript中添加一个

  • 标签来读取该属性及其所有子项隐藏

    如果你有一个想法如何关闭一个洞的孩子而不仅仅是一个

    ,我将不胜感激
  • 1 个答案:

    答案 0 :(得分:0)

    经过长时间的搜索和尝试错误的方法,我设法找到一个关闭自定义级别的孩子的解决方案

    这是lvl 3孩子的解决方案

    $('.tree li>ul>li>ul').hide();
    $('.tree li:first').show();