Comment ajouter une classe à l' <html>élément racine en utilisant Javascript?
Comment ajouter une classe à l' <html>élément racine en utilisant Javascript?
Réponses:
Comme ça:
var root = document.getElementsByTagName( 'html' )[0]; // '0' to assign the first (and only `HTML` tag)
root.setAttribute( 'class', 'myCssClass' );
Ou utilisez ceci comme ligne de 'setter' pour conserver toutes les classes précédemment appliquées: (merci @ ama2)
root.className += ' myCssClass';
Ou, en fonction de la prise en charge du navigateur requise, vous pouvez utiliser la classList.add()méthode:
root.classList.add('myCssClass');
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList http://caniuse.com/#feat=classlist
MISE À JOUR:
Une solution plus élégante pour référencer l' HTMLélément pourrait être la suivante:
var root = document.documentElement;
root.className += ' myCssClass';
// ... or:
// root.classList.add('myCssClass');
//
classList.add(cas de chameau).
classListne fonctionne pas sur document.documetElement.
root.classList.add('myCssClass')fonctionné dans les trois.) Utilisez-vous IE?
document.documentElement.classList.addsemble bien fonctionner ici. Les navigateurs en 2018 ont-ils commencé à prendre en charge cela?
Cela devrait également fonctionner:
document.documentElement.className = 'myClass';
Éditer:
IE 10 estime qu'il est en lecture seule; encore:

Œuvres d'opéra:

Je peux également confirmer que cela fonctionne dans:
U+200Baprès l'apostrophe finale, ce qui fait échouer la compilation dans le webpack et d'autres compilateurs!
document.documentElement.classList.add('myCssClass');
classListest pris en charge depuis ie10: https://caniuse.com/#search=classlist
Vous devez ajouter la classe et non l'écraser
var headCSS = document.getElementsByTagName("html")[0].getAttribute("class") || "";
document.getElementsByTagName("html")[0].setAttribute("class",headCSS +"foo");
Je recommanderais toujours d'utiliser jQuery pour éviter les incompatibilités de navigateur
Avec Jquery ... Vous pouvez ajouter une classe à des éléments html comme ceci:
$(".divclass").find("p,h1,h2,h3,figure,span,a").addClass('nameclassorid');
nameclassorid no point ou # au début