2016-08-12 74 views
0

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

但是,我想实现这个功能,当第一次打开页面时,树的所有顶层目录都折叠了(在顶层示例中为父文件夹),但单击其中一个顶层目录将会完全打开所有的孩子分支。现在它只会打开一个级别。我将不胜感激任何帮助完成此。

目前对于树的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(); 
    }); 
}); 

回答

2

尝试改变

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

var children = $(this).parent('li.parent_li').find('li'); 
+0

谢谢!这正是我想要的。 –