我有一个这样的树视图表:http: //jsfiddle.net/NPGUx/6/我正在使用:
$('.toggle').trigger('click');
隐藏所有加载元素,问题是我有太多行(如 1000-1500),导致消息“脚本运行缓慢,你想停止它吗?” 出现了三遍。
如何制定更好的解决方案来隐藏所有元素?
我有一个这样的树视图表:http: //jsfiddle.net/NPGUx/6/我正在使用:
$('.toggle').trigger('click');
隐藏所有加载元素,问题是我有太多行(如 1000-1500),导致消息“脚本运行缓慢,你想停止它吗?” 出现了三遍。
如何制定更好的解决方案来隐藏所有元素?
这个怎么样:-
当您呈现记录并在最后使用此查询时,将您的类从折叠更改为展开,以隐藏除第 0 级以外的所有级别,或在呈现自身时隐藏所有其他级别 tr。
$('tr[data-depth]').not('[data-depth=0]').hide(); // Or just render all tr's but this
//with display:none css property.
更改您的过滤器以避免从所有 tr 过滤到此:-
var rootDepth = $(this).closest('tr').data('depth');
var findChildren = function (tr) {
var depth = tr.data('depth');
return tr.nextUntil('[data-depth=' + rootDepth + ']').filter(function(){
return $(this).data('depth') > depth;
});
<tr data-depth="0" class="expand level0"> <!--Instead of collapse-->
<td><span class="toggle expand"></span>Item 1</td> <!--Instead of collapse-->