检查是否隐藏了所有子元素
我的脚本有点困在这里:
它是一个复选框,用于过滤所有.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