JQuery ile birden fazla sınıf seçme


222

Ben iyi bir görünüm vardı ve böyle bir jQuery seçici deyiminde belirli sınıflarla eşleşen tüm öğeleri seçmek nasıl bulamıyorum görünmüyor:

$('.myClass', '.myOtherClass').removeClass('theclass');

Bunu nasıl başaracağınıza dair bir fikrin var mı? Tek seçenek yapmak

$('.myClass').removeClass('theclass');
$('.myOtherClass').removeClass('theclass');

Ama bunu birkaç sınıfla yapıyorum, bu yüzden çok kod gerektiriyor.

Yanıtlar:


402

Bu çalışmalı:

$('.myClass, .myOtherClass').removeClass('theclass');

İlk bağımsız değişkendeki birden çok seçiciyi $ () öğesine eklemeniz gerekir, aksi takdirde jQuery'ye aranacak bir bağlam verirsiniz, bu istediğiniz değildir.

CSS'de yaptığınızla aynı.


3
Yalnızca öğenin her biri belirtilen sınıfların tümüne sahip olduğunda eşleştirmek istersem ne olur?
IsmailS

12
Tamam, bunu bir stackoverflow.com/q/1041344/148271 aldım . temelde kavşak için tüm seçiciye katılmak zorunda kalacağım. Beğen$(".myClass.myOtherClass")
IsmailS

CSS gruplaması hakkında daha fazla bilgi: W3C "Gruplama" .
13'te

@wal: Bu virgül her iki sınıfa da işaret ederken CSS'de de gereklidir. Virgül olmadan bunun .myOtherClassiçinde bir yerde olduğunu söylerdi .myClass.
geekuality

bu cevap soruya cevap vermez, bu şekilde bir OR yaparsınız !!!! değil VE !!
Mahmoud Khateeb


25

kullanırım $('.myClass.myOtherClass').removeClass('theclass');


34
Bu, bir HTML öğesinde birden çok sınıf varsa ve öğenin sınıfını yalnızca bu sınıfların tümüyle kaldırmak istiyorsanız budur . Diğer örnekler, sınıfı virgülle ayrılmış sınıflardan herhangi biriyle herhangi bir öğeden kaldıracaktır. Benim HTML öğesi olsaydı senin örnek sadece çalışacak hem gibi<div class="myClass myOtherClass theclass">
Kezzer

0
// Due to this Code ): Syntax problem.    
$('.myClass', '.myOtherClass').removeClass('theclass'); 

JQuery belgelerine göre: https://api.jquery.com/multiple-selector/

Ne zaman bu şekilde birden fazla sınıf seçilebilir:

jQuery(“selector1, selector2, selectorN”) // double Commas. // IS valid.
jQuery('selector1, selector2, selectorN') // single Commas. // Is valid.

tüm seçicileri tek bir "..." veya çift virgül içine alarak "..."

Bu durumda, birden fazla sınıfı çağırmanın doğru yolu şudur:

$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass');  // Correct Code // Is valid.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.