¿Cómo se agrega una clase al <html>elemento raíz usando Javascript?
¿Cómo se agrega una clase al <html>elemento raíz usando Javascript?
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');
//
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';
Editar:
IE 10 reconoce que es de solo lectura; todavía:

Obras de ópera:

También puedo confirmar que funciona en:
U+200Bdespués del apóstrofe final, lo que hace que falle la compilación en el paquete web y otros compiladores.
document.documentElement.classList.add('myCssClass');
classListes compatible desde ie10: https://caniuse.com/#search=classlist
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