Memilih beberapa kelas dengan jQuery

222

Saya sudah memiliki tampilan yang bagus dan sepertinya tidak dapat menemukan cara memilih semua elemen yang cocok dengan kelas tertentu dalam satu pernyataan pemilih jQuery seperti ini:

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

Ada ide tentang cara mencapai ini? Satu-satunya pilihan lain adalah melakukan

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

Tetapi saya melakukan ini dengan beberapa kelas, sehingga membutuhkan banyak kode.

Kezzer
sumber

Jawaban:

402

Ini seharusnya bekerja:

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

Anda harus menambahkan beberapa penyeleksi dalam argumen pertama ke $ (), jika tidak, Anda memberi jQuery konteks untuk mencari, yang bukan yang Anda inginkan.

Ini sama seperti yang Anda lakukan di CSS.

Erik Bakker
sumber
3
Bagaimana jika saya ingin mencocokkannya hanya ketika masing-masing elemen memiliki semua kelas yang ditentukan?
IsmailS
12
Baiklah, saya punya stackoverflow.com/q/1041344/148271 ini . pada dasarnya saya harus bergabung dengan semua pemilih untuk persimpangan. Suka$(".myClass.myOtherClass")
Ismail
Lebih lanjut tentang pengelompokan CSS: W3C "Pengelompokan" .
skrounge
@wal: Koma itu juga diperlukan dalam CSS saat menunjuk ke kedua kelas. Tanpa koma itu akan merujuk ke .myOtherClasssuatu tempat di dalam .myClass.
geekualitas
jawaban ini tidak menjawab pertanyaan, dengan cara ini Anda membuat ATAU !!!! tidak DAN !!
Mahmoud Khateeb
26

Sudahkah Anda mencoba ini?

$('.myClass, .myOtherClass').removeClass('theclass');
Ionuț G. Stan
sumber
25

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

Adman
sumber
34
Ini adalah jika elemen HTML memiliki beberapa kelas, dan Anda ingin menghapus kelas untuk elemen hanya dengan semua kelas itu. Contoh lain akan menghapus kelas dari elemen apa pun dengan kelas yang dipisahkan koma. Contoh Anda hanya akan berfungsi jika elemen HTML saya memiliki keduanya , seperti<div class="myClass myOtherClass theclass">
Kezzer
0
// Due to this Code ): Syntax problem.    
$('.myClass', '.myOtherClass').removeClass('theclass'); 

Menurut dokumentasi jQuery: https://api.jquery.com/multiple-selector/

Kapan dapat memilih beberapa kelas dengan cara ini:

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

dengan melampirkan semua pemilih dalam satu '...' 'atau koma ganda, "..."

Jadi dalam kasus Anda cara yang benar untuk memanggil beberapa kelas adalah:

$('.myClass', '.myOtherClass').removeClass('theclass'); // your Code // Invalid.
$('.myClass , .myOtherClass').removeClass('theclass');  // Correct Code // Is valid.
Rehan Shah
sumber