检查是否所有的子元素都隐藏(Check if all children elements are h

2019-06-24 01:40发布

我有点与我的脚本困在这里:

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

如果所有的孩子#list-team-single-container是“无显示” -做一些事情。

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

Answer 1:

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


Answer 2:

: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是可见的。



Answer 3:

这很难具体没有看到您的标记,但我想像做这样的事情:

var isVisible = 0;

$('.notme').each( function() {
    if( $(this).is(":visible") {
         isVisible++;
    }
});

if ( isVisible == 0 )
    // do something


文章来源: Check if all children elements are hidden