如何使元素的可见度.hide()
, .show()
,或.toggle()
?
如果一个元素是visible
或hidden
?
如何使元素的可见度.hide()
, .show()
,或.toggle()
?
如果一个元素是visible
或hidden
?
当前回答
.is(":not(':hidden')") /*if shown*/
其他回答
您可以通过使用:visible
和:hidden
选择器。
var isVisible = $('#myDiv').is(':visible');
var isHidden = $('#myDiv').is(':hidden');
如果你只是根据它的能见度 依据一个元素行事 你可以包括:visible
或:hidden
在选择表达式中。例如:
$('#myDiv:visible').animate({left: '+=200px'}, 'slow');
因为Elements with visibility: hidden or opacity: 0 are considered visible, since they still consume space in the layout
(截至2004年12月1日jj 查询: 可见选择器- 我们可以检查元素是否真的以这种方式可见:
function isElementReallyHidden (el) {
return $(el).is(":hidden") || $(el).css("visibility") == "hidden" || $(el).css('opacity') == 0;
}
var booElementReallyShowed = !isElementReallyHidden(someEl);
$(someEl).parents().each(function () {
if (isElementReallyHidden(this)) {
booElementReallyShowed = false;
}
});
我会用CSS课.hide { display: none!important; }
.
躲藏/展示,我打电话.addClass("hide")/.removeClass("hide")
为了检查能见度,我使用.hasClass("hide")
.
这是一个简单清晰的检查/隐藏/显示元素的方法, 如果你不计划使用.toggle()
或.animate()
方法。
您可以使用这个:
$(element).is(':visible');
$(document).ready(function()
{
$("#toggle").click(function()
{
$("#content").toggle();
});
$("#visiblity").click(function()
{
if( $('#content').is(':visible') )
{
alert("visible"); // Put your code for visibility
}
else
{
alert("hidden");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<p id="content">This is a Content</p>
<button id="toggle">Toggle Content Visibility</button>
<button id="visibility">Check Visibility</button>
$('someElement').on('click', function(){ $('elementToToggle').is(':visible')