【发布时间】:2013-04-02 05:30:38
【问题描述】:
我想检查和排序隐藏的元素。是否可以找到所有具有display 属性和none 值的元素?
【问题讨论】:
我想检查和排序隐藏的元素。是否可以找到所有具有display 属性和none 值的元素?
【问题讨论】:
您可以使用:visible 查找可见元素,使用:hidden 查找隐藏元素。此隐藏元素的display 属性设置为none。
hiddenElements = $(':hidden');
visibleElements = $(':visible');
检查特定元素。
if($('#yourID:visible').length == 0)
{
}
如果元素占用了文档中的空间,则认为它们是可见的。 可见元素的宽度或高度大于零, Reference
您还可以将is() 与:visible 一起使用
if(!$('#yourID').is(':visible'))
{
}
如果你想检查显示的值那么你可以使用css()
if($('#yourID').css('display') == 'none')
{
}
如果您使用显示以下值display 可以有。
显示:无
显示:内联
显示:块
显示:列表项
显示:内联块
检查可能的display 值here 的完整列表。
使用 JavaScript 检查显示属性
var isVisible = document.getElementById("yourID").style.display == "block";
var isHidden = document.getElementById("yourID").style.display == "none";
【讨论】:
display: block;。我无法用你的方法检查它。帮助我。
$("element").filter(function() { return $(this).css("display") == "none" });
【讨论】:
style="display: none;",这也将起作用。如果您想要特定元素可见性并且父元素被隐藏,则使用 :visible 和 :hidden 的答案将失败,因为这些选择器会返回页面上的整体可见性(这不是问题)。
visibility: 'hidden';,所以检查结果也检查了:$(this).css('visibility') != 'hidden'
display = none,另一条有 display = block,但页面还有其他选项卡,这会导致这两条消息不可见,当我在其他选项卡中时,...但有 1 条消息可见,此选择器将帮助我。
是的,您可以使用 css 函数。下面将搜索所有 div,但您可以根据需要修改它
$('div').each(function(){
if ( $(this).css('display') == 'none')
{
//do something
}
});
【讨论】:
在 jQuery 中有两种方法来检查可见性:
$("#selector").is(":visible")
和
$("#selector").is(":hidden")
您还可以根据选择器中的可见性执行命令;
$("#selector:visible").hide()
或
$("#selector:hidden").show()
【讨论】:
:visible 还取决于父祖先可见性。如果祖先是display: none,则无论display 状态如何,所有后代都将不可见。
使用这个条件:
if (jQuery(".profile-page-cont").css('display') == 'block'){
// Condition
}
【讨论】:
$('#selector').is(':visible');
【讨论】:
:visible 还取决于父祖先可见性。如果祖先是display: none,则无论display 状态如何,所有后代都将不可见。
我个人更喜欢另一个快捷方式,而不是 .is() 或 .length:
if($('.myclass:visible')[0]){
// is visible
}else {
// is hidden
}
【讨论】:
<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>
【讨论】: