仅折叠CSS树中的顶级

时间:2016-08-12 22:50:45

标签: javascript html css twitter-bootstrap tree

在我的模板中,我使用了this question.中使用的相同树结构代码。该问题的答案打开了页面,树完全折叠(jsfiddle)。

但是,我希望实现这一点,以便在首次打开页面时折叠树的所有顶级目录(在顶部示例中为父文件夹),但单击其中一个顶级目录将完全打开所有的孩子分支。现在它只会打开一个级别。我很感激任何帮助以实现这一目标。

树的当前Javascript如下。

$(function () {
    $('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');
    $('.tree li ul > li').hide();
    $('.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();
    });
});

1 个答案:

答案 0 :(得分:2)

尝试更改

//book[@id = $id-to-look-up]

var children = $(this).parent('li.parent_li').find(' > ul > li');