2009-09-21 13 views
13

मैं एक डीआईवी से पता लगाने की कोशिश कर रहा हूं या यह खुलासा हुआ है।JQuery - यदि DIV ID दृश्यमान है

यह स्यूडोकोड है:

 

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

किसी भी JQuery विशेषज्ञों मुझे सहायता करने में सक्षम?

धन्यवाद, रॉबर्ट

उत्तर

4

निम्नलिखित एक DIV प्रदर्शित करेगा myDiv नामित अगर यह छिपा हुआ है। ध्यान दें कि यदि आप अन्य सामान करना चाहते हैं, तो आप प्रत्येक के अंदर $ (इस) पर अन्य परिचालन दिखाने और करने के बजाए प्रत्येक() का उपयोग भी कर सकते हैं।

$('div#myDiv:hidden').show(); 
+0

यह थोड़ा अनावश्यक है ना? – nickf

+0

@nickf: बस दिए गए उदाहरण के साथ संगत होने की कोशिश कर रहा है। – tvanfosson

1

यह देखने के लिए कि आप आईडी "mydiv" के साथ किसी भी छिपा तत्वों का चयन किया परीक्षण:

if ($("#mydiv:hidden").length > 0) 
{ 
    // 
} 

संपादित करें: सरलीकृत चयनकर्ता। यह देखने के लिए किया था अप:/

39

आप सिर्फ करने की कोशिश कर रहे हैं दिखाने के एक div जो छिपा हुआ है, तो आप वास्तव में सब पर किसी भी चेक करने की ज़रूरत नहीं है:

$('#myDiv').show(); 

चाहे इसके राज्य पहले से ही, यह अब दिखाई देगा।

हालांकि, अगर आप पर है कि क्या सामग्री दिखाई है या नहीं आधार पर अन्य कार्रवाई करने के लिए चाहते हैं, तो आप जांच करने के लिए की आवश्यकता होगी:

if ($('#myDiv').is(":hidden")) 
// or 
if ($('#myDiv:hidden').length) 
// or 
if ($('#myDiv:not(:visible)')) { // you get the idea... 
    //perform your actions 
} 
+0

मैं इस परीक्षण की पवित्रता की गारंटी नहीं दे सकता, लेकिन मैंने इन तीन कार्यों को जेएसपीआरएफ में फेंक दिया ताकि यह देखने के लिए .. क्या लगता है .is: छुपा सबसे अच्छा है! http://jsperf.com/is-the-div-hidden –

26

अन्य सभी जवाब ठीक हैं, लेकिन यह सिर्फ अनुवाद करने के लिए है वास्तविक जावास्क्रिप्ट कोड में अपने स्यूडोकोड:

if (!$('div').is(':visible')) { 
    $('div').show(); 
} 
0

आप केवल छिपने के लिए देख और एक तत्व आप के साथ-साथ बस का उपयोग कर सकते jQuery .toggle() विधि है कि सिर्फ इतना है कि आप के लिए क्या करेंगे दिखा रहे हैं तो। इसी प्रकार, .slideToggle() और .fadeToggle() विधियां स्लाइड या फीड एनीमेशन के साथ तत्व (ओं) को छुपाएं और दिखाएंगी।