我想检查和排序隐藏的元素。是否有可能找到所有的元素与属性显示和值为零?


你可以用:visible表示可见元素,用:hidden表示隐藏元素。这个隐藏元素的display属性设置为none。

hiddenElements = $(':hidden');
visibleElements = $(':visible');

检查特定元素。

if($('#yourID:visible').length == 0)
{

}

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

你也可以使用is()和:visible

if(!$('#yourID').is(':visible'))
{

}

如果你想检查显示的值可以使用css()

if($('#yourID').css('display') == 'none')
{

}

如果使用display,则display可以有以下值。

显示:没有 显示:内联 显示:块 显示:列表项 显示:inline-block

在这里检查可能显示值的完整列表。

使用JavaScript检查显示属性

var isVisible = document.getElementById("yourID").style.display == "block";
var isHidden = document.getElementById("yourID").style.display == "none"; 
$('#selector').is(':visible');
$("element").filter(function() { return $(this).css("display") == "none" });

是的,你可以使用cssfunction。下面将搜索所有div,但你可以修改它为任何你需要的元素

$('div').each(function(){

    if ( $(this).css('display') == 'none')
    {
       //do something
    }
});

jQuery中有两个方法来检查可见性:

$("#selector").is(":visible")

and

$("#selector").is(":hidden")

你也可以在选择器中根据可见性执行命令;

$("#selector:visible").hide()

or

$("#selector:hidden").show()

使用这个条件:

if (jQuery(".profile-page-cont").css('display') == 'block'){
    // Condition 
}

只是我个人更喜欢的另一个快捷方式,而不是。is()或。length:

if($('.myclass:visible')[0]){
   // is visible
}

如果没有dom元素找到selector .myclass:visible,它将返回undefined

现场演示

<div id="div" style="display: none"></div>
<button class="try">Try now</button>

<script type="text/javascript">
$(document).on('click','.try',function() {
var style = $('#div');
if (style.css("display") == "none") {
  alert("display not available");
}
});
</script>