Comment ajouter une classe au <html>
Élément racine à l'aide de Javascript ?
Réponses
Trop de publicités?Comme ça :
var root = document.getElementsByTagName( 'html' )[0]; // '0' to assign the first (and only `HTML` tag)
root.setAttribute( 'class', 'myCssClass' );
Ou bien utilisez cette ligne comme 'setter' pour préserver toutes les classes précédemment appliquées : (merci @ama2)
root.className += ' myCssClass';
Ou, en fonction de la prise en charge requise par le navigateur, vous pouvez utiliser la fonction classList.add()
méthode :
root.classList.add('myCssClass');
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList http://caniuse.com/#feat=classlist
UPDATE :
Une solution plus élégante pour référencer le HTML
élément pourrait être celui-ci :
var root = document.documentElement;
root.className += ' myCssClass';
// ... or:
// root.classList.add('myCssClass');
//
document.documentElement.classList.add('myCssClass');
classList
est supporté 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 recommande toujours l'utilisation de jQuery pour éviter les incompatibilités entre navigateurs.
- Réponses précédentes
- Plus de réponses