Menghapus banyak kelas (jQuery)


615

Apakah ada cara yang lebih baik untuk menulis ulang ini:

$('element').removeClass('class1').removeClass('class2');

Saya tidak dapat menggunakan removeClass();karena akan menghapus SEMUA kelas, yang tidak saya inginkan.

Jawaban:


1128
$("element").removeClass("class1 class2");

Dari removeClass(), parameter kelas:

Satu atau lebih kelas CSS untuk dihapus dari elemen, ini dipisahkan oleh spasi.




17

The dokumentasi mengatakan:

class (Optional) String
Satu atau lebih kelas CSS untuk dihapus dari elemen, ini dipisahkan oleh spasi.

Contoh:

Hapus kelas 'biru' dan 'di bawah' dari elemen yang cocok.

$("p:odd").removeClass("blue under");

12

Ada banyak cara untuk melakukannya!

jQuery

  1. hapus semua kelas
    $("element").removeClass();
    ATAU
    $("#item").removeAttr('class');
    ATAU
    $("#item").attr('class', '');
    ATAU
    $('#item')[0].className = '';

  2. hapus multi class
    $("element").removeClass("class1 ... classn");
    ATAU
    $("element").removeClass("class1").removeClass("...").removeClass("classn");

Vanilla Javascript

  1. hapus semua kelas

// remove all items all class  
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
    items[i].className = '';
}

  1. hapus multi class

// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';


2

Pisahkan kelas dengan warna putih space

$('element').removeClass('class1 class2');

1

Anda harus memisahkan kelas-kelas yang ingin Anda hapus dengan spasi$('selector').removeClass('class1 class2');


0

Sejak jQuery 3.3.0 , dimungkinkan untuk meneruskan array ke .addClass(),. removeClass()dan toggleClass(), yang membuatnya lebih mudah jika ada logika yang menentukan kelas mana yang harus ditambahkan atau dihapus, karena Anda tidak perlu dipusingkan dengan string yang dibatasi ruang.

$("div").removeClass(["class1", "class2"]); 
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.