在我的模板中,我使用了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();
});
});
答案 0 :(得分:2)
尝试更改
//book[@id = $id-to-look-up]
到
var children = $(this).parent('li.parent_li').find(' > ul > li');