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.

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.


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');

25

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


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.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.