Dalam tutorial ini, kita akan belajar cara menambah dan menghapus kelas CSS ke dan dari elemen HTML di JavaScript, tanpa menggunakan jQuery
Pertimbangkan elemen > document.getElementById('rose').classList; 6 dengan > document.getElementById('rose').classList; 7, yang sudah memiliki dua kelas. > document.getElementById('rose').classList; 8 dan > document.getElementById('rose').classList; 9
Kami akan menambahkan kelas lain yang disebut > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 0 ke dalamnya. Untuk melakukannya dalam JavaScript, kita perlu menggunakan properti read-only > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 1 elemen, yang mengembalikan > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 2 elemen
Antarmuka > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 _2 memiliki dua properti, > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 4 dan > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 5. Untuk > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 _1, properti > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 4 mengembalikan daftar nama kelas sebagai string dan properti > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 5 memberikan jumlah kelas yang disimpan dalam objek
Untuk menambahkan satu kelas lagi ke elemen > document.getElementById('rose').classList; _6 di atas, kita cukup merantai metode document.getElementById('rose').classList.add('thorn'); 0 ke properti > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 1 elemen
Di sana kami sudah memiliki kelas yang baru ditambahkan > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 0
Namun, jika nama kelas sudah ada di atribut > document.getElementById('rose').classList; 6 elemen document.getElementById('rose').classList.add('thorn'); 4, metode document.getElementById('rose').classList.add('thorn'); 0 akan mengabaikannya. Pernyataan berikut tidak akan berpengaruh, karena kelas > document.getElementById('rose').classList; 8 sudah ada di atribut document.getElementById('rose').classList.add('thorn'); 4
Menghapus kelas dari suatu elemen memerlukan penggunaan metode document.getElementById('rose').classList.add('thorn'); 8 yang termasuk dalam properti > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 1 dari elemen tersebut
Untuk menghapus kelas > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 _0 yang baru saja ditambahkan dari elemen > document.getElementById('rose').classList; 6, kita cukup melakukannya
Sekarang jika Anda memeriksa properti > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 _4 dari antarmuka > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 2 yang dikembalikan oleh > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 1, Anda akan menemukan bahwa hanya dua kelas sebelumnya — > document.getElementById('rose').classList; 8 dan > document.getElementById('rose').classList; 9 — tetap bersamanya
Kedua metode document.getElementById('rose').classList.add('thorn'); 0 dan document.getElementById('rose').classList.add('thorn'); 8 yang dibahas di atas dapat digunakan untuk menambah dan menghapus beberapa kelas sekaligus
Pernyataan di bawah menambahkan tiga kelas — > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 0, document.getElementById('rose').classList.add('petal'); 0 dan document.getElementById('rose').classList.add('petal'); 1 — ke elemen document.getElementById('rose').classList.add('petal'); 2
Saat memeriksa di konsol browser, kami menemukannya di > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 2
Dan yang berikut menghapus semuanya
Kita bisa mendapatkan kelas di posisi document.getElementById('rose').classList.add('petal'); _4 dalam koleksi yang dikembalikan menggunakan metode document.getElementById('rose').classList.add('petal'); 5 dari properti > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 1 dari suatu elemen. Indeks dimulai dari 0
Properti > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 1 elemen memiliki metode document.getElementById('rose').classList.add('petal'); 7 yang mengembalikan nilai Boolean dengan memeriksa apakah elemen memiliki kelas yang ditentukan, yang namanya diteruskan sebagai argumen
Dengan menggunakan metode document.getElementById('rose').classList.add('petal'); _7 di atas, kita sekarang dapat menyusun kode untuk beralih di antara nama kelas untuk suatu elemen
Seringkali kita melakukan toggle seperti itu pada terjadinya beberapa peristiwa, seperti klik. Misalkan kita memiliki elemen document.getElementById('rose').classList.remove('thorn'); _1 tunggal dalam contoh kita di atas. Kode ini mengaktifkan kelas > document.getElementById('rose').classList.value; //petal leaf > document.getElementById('rose').classList.length; //2 0 untuk elemen document.getElementById('rose').classList.add('petal'); 2 saat diklik