2012-01-22 19 views
23

Bir öğenin belirli bir sınıfı varsa if ifademde doğrulamak için hasClass() kullanıyorum. Bir öğenin belirli bir sınıfı yoksa, if ifademi nasıl kontrol edebilirim? Yanıtlarınız için şimdiden teşekkür ederiz. Şerefe. Marc.Jquery .hasClass() öğesinin tersi mi?

if (!el.hasClass ('foo')) 
{ 

} 

cevap

59

senin soru için

var isValid = false; 
if (!isValid) { 
    // execute if isValid = false; 
} 

, Öğe belirtilen sınıfa sahipse .hasClass() bir boolean döndürür, bu nedenle ifade

Belirli bir sınıf var olanlar kaçınmak istiyorsanız

if (!$('div').hasClass('someClass')) { 
    // will not get here because our element has the class "someClass" 
} 

elemanları seçerek, sen :not() sözde seçici kullanabilirsiniz: o sınıfı yoksa

<div class="someClass"></div> 

if ($('div').hasClass('someClass')) { 
    // will execute 
} 
kontrol etmek:

$('div:not(.someClass)') 

About the :not() selector

+0

Merhaba. Hızlı cevap için teşekkürler. Yani eğer ($ (! '# Div'). HasClass ('foo'))? – Marc

+6

if (! $ ('# Div'). HasClass ('foo')) – sathia

+0

Teşekkür ederiz tüm .. – Marc

6
if (!element.hasClass('classname')) { 
    ... 
} 
+3

+1 LOL sadeliğin kendisi! –

18

Daha genel javascript, bir boolean sonucun tersini kontrol mantıksal DEĞİL operatörü ! kullanmak: Neden sadece

+0

Merci Didier pour le détail. – Marc

+0

Bunu yapmanın başka bir yolu daha var. Var olan bir koleksiyondan öğeleri kaldırmak isterseniz, '.not()' işlevini kullanabilirsiniz (bkz. Http://api.jquery.com/not/). Örnek: '$ ('. Kitap p'). AddClass ('refere edilebilir'). ('Kenara' değil) addClass ('numaralı');' – Shawn

0

chaning kullanmak için, ca n filtreyi kullanın. Eğer sadece tek bir sınıf kontrol gerekiyorsa birden fazla sınıf veya

el.is(':not(.secondClass)') 

kontrol gerekiyorsa

$(...some selector...).filter(function(){ 
    return !$(this).hasClass('yourclass'); 
}).each-or-do-more 
+3

'.not()' da şunu sağlar: '$. ..sadece seçici ...). ('. yourclass'). – Shawn

0
if (!($('class/id/objct').hasClass('class name'))) { 
     //codes here... 
} 
2

Sen

el.is('.oneClass:not(.secondClass)') 

kullanabilirsiniz.