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.
$("element").removeClass("class1 class2");
Dari removeClass()
, parameter kelas:
Satu atau lebih kelas CSS untuk dihapus dari elemen, ini dipisahkan oleh spasi.
.removeClass()
dokumentasi jQuery .
Satu atau lebih kelas CSS untuk dihapus dari elemen, ini dipisahkan oleh spasi.
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");
Ada banyak cara untuk melakukannya!
jQuery
hapus semua kelas
$("element").removeClass();
ATAU
$("#item").removeAttr('class');
ATAU
$("#item").attr('class', '');
ATAU
$('#item')[0].className = '';
hapus multi class
$("element").removeClass("class1 ... classn");
ATAU
$("element").removeClass("class1").removeClass("...").removeClass("classn");
// remove all items all class
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}
// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';
Pisahkan kelas dengan warna putih space
$('element').removeClass('class1 class2');
Anda harus memisahkan kelas-kelas yang ingin Anda hapus dengan spasi$('selector').removeClass('class1 class2');
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"]);