¿Cómo se agrega una clase al <html>elemento raíz usando Javascript?
javascript
html
Brandon Lebedev
fuente
fuente

Respuestas:
Me gusta esto:
var root = document.getElementsByTagName( 'html' )[0]; // '0' to assign the first (and only `HTML` tag) root.setAttribute( 'class', 'myCssClass' );O use esto como su línea 'setter' para preservar cualquier clase aplicada previamente: (gracias @ ama2)
root.className += ' myCssClass';O, según la compatibilidad del navegador requerida, puede utilizar el
classList.add()método:root.classList.add('myCssClass');https://developer.mozilla.org/en-US/docs/Web/API/Element/classList http://caniuse.com/#feat=classlist
ACTUALIZAR:
Una solución más elegante para hacer referencia al
HTMLelemento podría ser esta:var root = document.documentElement; root.className += ' myCssClass'; // ... or: // root.classList.add('myCssClass'); //fuente
classList.add(caso de camellos).classListno funciona en document.documetElement.root.classList.add('myCssClass')funcionó en los tres). ¿Está usando IE?document.documentElement.classList.addparece funcionar bien aquí. ¿Los navegadores en 2018 comenzaron a admitir esto?Esto también debería funcionar:
document.documentElement.className = 'myClass';Compatibilidad .
Editar:
IE 10 reconoce que es de solo lectura; todavía:
Obras de ópera:
También puedo confirmar que funciona en:
fuente
U+200Bdespués del apóstrofe final, lo que hace que falle la compilación en el paquete web y otros compiladores.Te recomiendo que eches un vistazo a jQuery .
forma jQuery:
$("html").addClass("myClass");fuente
document.documentElement.classList.add('myCssClass');classListes compatible desde ie10: https://caniuse.com/#search=classlistfuente
Debe agregar la clase, no sobrescribirla
var headCSS = document.getElementsByTagName("html")[0].getAttribute("class") || ""; document.getElementsByTagName("html")[0].setAttribute("class",headCSS +"foo");Todavía recomendaría usar jQuery para evitar incompatibilidades con el navegador
fuente
Con Jquery ... Puede agregar clases a elementos html como este:
$(".divclass").find("p,h1,h2,h3,figure,span,a").addClass('nameclassorid');nameclassorid sin punto o # al principio
fuente