Bagaimana Anda menambahkan kelas ke <html>
elemen root menggunakan Javascript?
javascript
html
Brandon Lebedev
sumber
sumber
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
HTML
elemen mungkin seperti ini:var root = document.documentElement; root.className += ' myCssClass'; // ... or: // root.classList.add('myCssClass'); //
sumber
classList.add
(kasus unta).classList
tidak berfungsi di document.documetElement.root.classList.add('myCssClass')
bekerja di ketiganya.) Apakah Anda menggunakan IE?document.documentElement.classList.add
tampaknya berfungsi dengan baik di sini. Apakah browser pada tahun 2018 mulai mendukung ini?Ini juga harus bekerja:
document.documentElement.className = 'myClass';
Kesesuaian .
Edit:
IE 10 menganggap itu hanya baca; namun:
Karya Opera:
Saya juga dapat mengonfirmasi bahwa ini berfungsi di:
sumber
U+200B
setelah tanda kutip terakhir, menyebabkan kompilasi gagal di webpack dan kompiler lain!Saya merekomendasikan agar Anda melihat jQuery .
jQuery cara:
$("html").addClass("myClass");
sumber
document.documentElement.classList.add('myCssClass');
classList
didukung sejak ie10: https://caniuse.com/#search=classlistsumber
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
sumber
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
sumber