2011-11-21 7 views
5

ile bu gelip nasıl birden seçicileri değildir gizlemek için ...

bir tık olayı meydana
  $('#container div').not('.toggle2').hide(); 

ama kokan Birden çok hide() etiketini elle yazarak aynı şekilde çalışın. Sadece #container div'umda eklemeye devam ettiğim her div için hide() etiketi kullanımını azaltmaya çalışıyorum.

+0

deneyin deneyin. Sonuç her iki durumda da aynı mı? – Tadeck

+1

işaretinizi gönderin –

+5

İkisi benim için eşdeğerdir .. bkz: http://jsfiddle.net/jli1/nVNDA/ (sadece yorum/uncomment ve yeniden çalıştır) – jli

cevap

10
$("div.toggle1, div.toggle3, div.toggle4, div.toggle5").hide(); 

Ya da sadece aynı sınıf gizler her DOM öğesini vermek ve aynı senin yapabilirsiniz:

$('.hideClass').hide(); 
+0

Tamam, birden fazla seçiciyi ekleyebileceğinizi bilmiyordum. Böyle doyurmak ve onları virgülle ayırmak. Bu benim için iyi ve çalıştı. – blackhawk

+0

perfecto. hehehe –

0

Kolayca css aracılığıyla kontrol edebilirsiniz. İçinde display:none stili olacak ana kapsayıcıya gizli bir sınıf ekleyin.sınıfındaki div için display:none istemiyorsanız, bu öğenin stilini geçersiz kılın. Bu şekilde, tüm kaplarda gizlemek veya tüm kapları ve arama gizleme yöntemini seçmek zorunda kalmazsınız.

ikinci durumda seçiciden `# container` kaldırmak için bu

.hidden{ 
    display:none; 
} 

.hidden .toggle2{ 
    display:block; 
} 

//This will add hidden class to the container which will 
//ultimately hide all the inner divs except div with class toggle2 
$('#container').addClass('hidden'); 
İlgili konular