我想找出一个DIV是隐藏的或者它是否被暴露。JQuery - 如果DIV ID是可见的
这是伪代码:
if(DIV != VISIBLE) // not visible { show content }
任何JQuery的专家能帮助我吗?
感谢, 罗伯特
我想找出一个DIV是隐藏的或者它是否被暴露。JQuery - 如果DIV ID是可见的
这是伪代码:
if(DIV != VISIBLE) // not visible { show content }
任何JQuery的专家能帮助我吗?
感谢, 罗伯特
下面会显示一个DIV命名myDiv
如果它是隐藏的。请注意,如果您想执行其他操作,您也可以使用each()而不是在每个内部的$(this)上显示和执行其他操作。
$('div#myDiv:hidden').show();
这将测试,看看你是否选择id为 “mydiv” 任何隐藏要素:
if ($("#mydiv:hidden").length > 0)
{
//
}
编辑:简化选择。不得不看它:/
如果你想只是显示一个div是隐藏的,那么你实际上并不需要做任何检查都:
$('#myDiv').show();
不管它的状态在事前已经显现出来了。
但是,如果你要取决于内容是否是可见或不可见的其他行动来执行,那么你就需要检查:
if ($('#myDiv').is(":hidden"))
// or
if ($('#myDiv:hidden').length)
// or
if ($('#myDiv:not(:visible)')) { // you get the idea...
//perform your actions
}
我不能保证这个测试的神圣性,但我只是把这三个函数扔进jsperf来看看发生了什么..好像.is:hidden是最好的! http://jsperf.com/is-the-div-hidden – 2014-05-01 15:56:23
其他所有的答案都很好,但是这仅仅是翻译伪代码转换为实际的Javascript代码:
if (!$('div').is(':visible')) {
$('div').show();
}
如果你只希望隐藏和显示你可能也只是使用jQuery .toggle()方法,将做到这一点对你的元素。同样,.slideToggle()和.fadeToggle()方法将隐藏并显示具有幻灯片或淡入淡出动画的元素。
这有点多余,不是吗? – nickf 2009-09-21 21:54:55
@nickf:试图与给定的例子保持一致。 – tvanfosson 2009-09-21 21:57:20