Bagaimana Anda menambahkan kelas ke <html>elemen root menggunakan Javascript?
Bagaimana Anda menambahkan kelas ke <html>elemen root menggunakan Javascript?
Jawaban:
Seperti ini:
var root = document.getElementsByTagName( 'html' )[0]; // '0' to assign the first (and only `HTML` tag)
root.setAttribute( 'class', 'myCssClass' );
Atau gunakan ini sebagai baris 'penyetel' untuk mempertahankan kelas yang diterapkan sebelumnya: (terima kasih @ ama2)
root.className += ' myCssClass';
Atau, bergantung pada dukungan browser yang diperlukan, Anda dapat menggunakan classList.add()metode ini:
root.classList.add('myCssClass');
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList http://caniuse.com/#feat=classlist
MEMPERBARUI:
Solusi yang lebih elegan untuk mereferensikan HTMLelemen mungkin seperti ini:
var root = document.documentElement;
root.className += ' myCssClass';
// ... or:
// root.classList.add('myCssClass');
//
classList.add(kasus unta).
classListtidak berfungsi di document.documetElement.
root.classList.add('myCssClass')bekerja di ketiganya.) Apakah Anda menggunakan IE?
document.documentElement.classList.addtampaknya berfungsi dengan baik di sini. Apakah browser pada tahun 2018 mulai mendukung ini?
Ini juga harus bekerja:
document.documentElement.className = 'myClass';
Edit:
IE 10 menganggap itu hanya baca; namun:

Karya Opera:

Saya juga dapat mengonfirmasi bahwa ini berfungsi di:
U+200Bsetelah tanda kutip terakhir, menyebabkan kompilasi gagal di webpack dan kompiler lain!
document.documentElement.classList.add('myCssClass');
classListdidukung sejak ie10: https://caniuse.com/#search=classlist
Anda harus menambahkan kelas agar tidak menimpanya
var headCSS = document.getElementsByTagName("html")[0].getAttribute("class") || "";
document.getElementsByTagName("html")[0].setAttribute("class",headCSS +"foo");
Saya masih merekomendasikan menggunakan jQuery untuk menghindari ketidaksesuaian browser
Dengan Jquery ... Anda dapat menambahkan kelas ke elemen html seperti ini:
$(".divclass").find("p,h1,h2,h3,figure,span,a").addClass('nameclassorid');
nameclassorid tidak ada poin atau # di awal