我想找出一個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