JQuery - 如果DIV ID是可见的

时间:2009-09-21 21:39:59

标签: jquery jquery-ui

我试图找出DIV被隐藏或是否暴露。

这是伪代码:


if(DIV != VISIBLE) // not visible
{
  show content
}

任何能够帮助我的JQuery专家?

谢谢, 罗伯特

5 个答案:

答案 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()方法将使用幻灯片或淡入淡出动画隐藏和显示元素。