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.