检查是否隐藏了所有子元素

我的脚本有点困在这里:

它是一个复选框,用于过滤所有.notme图像并隐藏它的列表项。 问题是现在我无法获得fadeToggle的工作回调函数。 它应该像这样:

如果#list-team-single-container所有孩子都“没有显示” – 做点什么。

 $('#show-only-my-teams').change(function(){ $('.notme').each(function(){ $(this).parent().parent().fadeToggle('fast', function(){ }); }); }); 

 if($('#list-team-single-container').children(':visible').length == 0) { // action when all are hidden } 

:visible jQuery选择器可能就是你要找的……

从描述

如果元素占用文档中的空间,则认为元素是可见的。 可见元素的宽度或高度大于零。

具有可见性的元素:隐藏或不透明度:0被认为是可见的,因为它们仍然占用布局中的空间。 在隐藏元素的动画期间,该元素在动画结束前被视为可见。 在显示元素的动画期间,该元素在动画开始时被视为可见。

http://api.jquery.com/visible-selector/


 $('#list-team-single-container').children(':visible'); 

该行代码将返回可见的#list-team-single-container所有子元素。

 $('#list-team-single-container').children(':visible').length; 

该行代码将返回可见的#list-team-single-container 子元素的数量

没有看到你的标记很难具体,但我想这样做:

 var isVisible = 0; $('.notme').each( function() { if( $(this).is(":visible") { isVisible++; } }); if ( isVisible == 0 ) // do something