在我打电话之前:
$('myObject').show();
我想知道它目前是隐藏还是可见。
答案 0 :(得分:40)
有两种方法可以做到,我知道:
if ($('#something').is(':hidden')) { }
或
if ($('#something').is(':visible')) { }
他们都应该工作。
您也可以这样做:
$('#something:hidden').show();
$('#something:visible').hide();
如果项目已被隐藏,则只会调用.show();如果项目已经可见,则只调用.hide()。
答案 1 :(得分:10)
您也可以使用切换$(this).toggle();
答案 2 :(得分:9)
您可以使用css()函数进行测试:
if ($('myObject').css('display') == 'none') {
$('myObject').show();
}
编辑:
不知道:隐藏选择器有多酷。我的建议对于测试其他属性仍然有用,但Alex的建议在这种情况下更好。
答案 3 :(得分:3)
来自jQuery FAQ:
var isVisible = $('myObject').is(':visible');
var isHidden = $('myObject').is(':hidden');