我试图找出DIV被隐藏或是否暴露。
这是伪代码:
if(DIV != VISIBLE) // not visible { show content }
任何能够帮助我的JQuery专家?
谢谢, 罗伯特
答案 0 :(得分:42)
如果你想只是显示隐藏的div,那么你根本不需要做任何检查:
$('#myDiv').show();
无论事先的状态如何,它现在都会显现出来。
但是,如果您想根据内容是否可见而执行其他操作,那么您需要检查:
if ($('#myDiv').is(":hidden"))
// or
if ($('#myDiv:hidden').length)
// or
if ($('#myDiv:not(:visible)')) { // you get the idea...
//perform your actions
}
答案 1 :(得分:30)
所有其他答案都很好,但这只是将您的伪代码转换为实际的JavaScript代码:
if (!$('div').is(':visible')) {
$('div').show();
}
答案 2 :(得分:4)
如果隐藏了DIV,则会显示名为myDiv
的DIV。请注意,如果你想做其他的事情,你也可以使用each()而不是show,并在每个内部对$(this)进行其他操作。
$('div#myDiv:hidden').show();
答案 3 :(得分:1)
这将测试您是否选择了ID为“mydiv”的隐藏元素:
if ( $("#mydiv:hidden").length > 0)
{
//
}
编辑:简化选择器。不得不查阅:/
答案 4 :(得分:0)
如果您只想隐藏并显示一个元素,那么您也可以使用jQuery .toggle()方法为您做到这一点。同样,.slideToggle()和.fadeToggle()方法将使用幻灯片或淡入淡出动画隐藏和显示元素。