2012-07-01 22 views
7

Tıklanan li öğesinin bir fotoğraf sınıfı yoksa kodu çalıştıran bir if ifadesi oluşturmaya çalışıyorum.Tıklanan öğenin belirli bir sınıfı yok mu kontrol edin

$('div.menu li').click(function(){ 
    var content = $(this).attr('class'); 
    if (/* I can't figure out the correct syntax that goes here? */){ 
     $("div.content_wrapper, div.content").hide(); 
     $('div.content_wrapper').animate({width: 'toggle'}); 
     $('div.content_wrapper, div.' + content).show(); 
     $('div.menu li').removeClass('menuactive'); 
     $(this).addClass('menuactive'); 
    } 
}); 

cevap

8

Kullanım :not selector:

$("div.menu li:not(.photo)").click(function(){ 
    $("div.content_wrapper, div.content").hide(); 
    $("div.content_wrapper").animate({width: "toggle"}); 
    $("div.content_wrapper, div." + content).show(); 
    $("div.menu li").removeClass("menuactive"); 
    $(this).addClass("menuactive"); 
}); 
+0

+1 akıllı cevap. – undefined

+0

İlginç, teşekkürler! – farrkling

6

Hemen kullanmak jQuery en .is:

if(!$(this).is('.some-class')) { // ... 

Veya, bu yüzden tercih ederseniz, .hasClass:

if(!$(this).hasClass('some-class')) { // ... 
+0

Harika! Teşekkür ederim! – farrkling

+2

@ EH_warch'ın cevabı yerine, dış seçiciye dikkat etmedim :) – Ryan

1
if(!$(this).hasClass('className')) { 
    // clicked element does not have the class 
} 
İlgili konular