2011-12-13 11 views
34

Bu kullanılarak gizlenir div #car2 hala form gönderme önce gizlidir: Kontrol div tıkladığınızda</p> <pre><code><div id="car2" style="display:none;"></div> </code></pre> <p>Sonra div gösterecek bir göster düğmesi bulunur benim div jquery

if($('#car2').is(':hidden')) { 
    alert('car 2 is hidden'); 
} 

Şimdi burada bir sorundur. #car2 zaten gösterilmemesine rağmen, hala uyarı mesajı aldım, bu da jQuery'nin #car2 tanesinin hala gizlendiğini varsayar.

jQuery sürümüm 1.7'dir.

Teşekkürler.

DÜZENLEME:

yeşim söylediği gibi, benim kod doğru olduğunu ve bu demo aracılığıyla çalıştırılabilir.

Formumda kullanıyorum jquery form to wizard plugin ile bazı çakışmaları olduğundan şüpheleniyorum. Bunu çözmek için herhangi bir fikri olan var mı?

+1

http://jsfiddle.net/YjP4K/2/ Kodunuz belki basitleştirilmiş zaman başka bir yerde bir hata var iş gelir? – Jasper

+0

Ayrıca bkz. [Bir öğenin gizli olup olmadığını kontrol etme [[jquery \] tarafından] (https://stackoverflow.com/questions/178325/checking-if-an-element-is-hidden) –

cevap

61

Sen CSS display özelliğini kontrol edebilirsiniz:

İşte
if ($('#car').css('display') == 'none') { 
    alert('Car 2 is hidden'); 
} 

bir demo: http://jsfiddle.net/YjP4K/

+0

diğer yanıtlar doğru olsa da, ancak Bir şekilde bu yöntemi sadece formumda kullanabilirim, böylece bunu bir cevap olarak seçeceğim. Teşekkürler. – cyberfly

+1

'$ ('# araba'). Is (gizli)' çalışmalıdır. Bu aynı zamanda mevcut olandan daha temiz bir çözümdür. Daha fazla bilgi için https://api.jquery.com/hidden-selector/ – akshay

+1

@akshay yeah. Bence kendi kontrolünüzün mantıklı olduğu durumlarda, “gizli” ve “görünür” seçicilerle vidalanan eleman (lar) etrafında koşullar olduğu için kenar durumları olduğunu düşünüyorum. – Jasper

4

kontrol etmeyi deneyin: görünür özelliğini yerine.

if($('#car2').not(':visible')) 
{ 
    alert('car 2 is hidden');  
} 
28

Dene:

if(!$('#car2').is(':visible')) 
{ 
    alert('car 2 is hidden');  
} 
+1

Cevap olarak işaretlenmelidir – Thamaraiselvam

2

Eğer $car2 yerine #car2 sizin yazım hatası fark ettiniz?

Her neyse, :hidden beklendiği gibi çalışıyor görünüyor, bunu deneyin here.

8

deneyin

if($('#car2').is(':hidden')) 
{ 
    alert('car 2 is hidden');  
} 
1

kullanabilirsiniz,

if (!$("#car-2").is(':visible')) 
{ 
     alert('car 2 is hidden'); 
} 
İlgili konular

 İlgili konular