Как добавить класс к <html>
корневому элементу с помощью Javascript?
Как добавить класс к <html>
корневому элементу с помощью Javascript?
Ответы:
Как это:
var root = document.getElementsByTagName( 'html' )[0]; // '0' to assign the first (and only `HTML` tag)
root.setAttribute( 'class', 'myCssClass' );
Или используйте эту строку как строку setter, чтобы сохранить ранее примененные классы: (спасибо @ ama2)
root.className += ' myCssClass';
Или, в зависимости от требуемой поддержки браузера, вы можете использовать classList.add()
метод:
root.classList.add('myCssClass');
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList http://caniuse.com/#feat=classlist
ОБНОВИТЬ:
Более элегантным решением для ссылки на HTML
элемент может быть следующее:
var root = document.documentElement;
root.className += ' myCssClass';
// ... or:
// root.classList.add('myCssClass');
//
classList.add
(дело верблюда).
classList
не работает с document.documetElement.
root.classList.add('myCssClass')
работали во всех трех.) Вы используете IE?
document.documentElement.classList.add
здесь вроде работает нормально. Браузеры в 2018 году начали это поддерживать?
Это также должно работать:
document.documentElement.className = 'myClass';
Редактировать:
IE 10 считает, что это только чтение; пока что:
Опера работает:
Я также могу подтвердить, что он работает в:
U+200B
после последнего апострофа, что приводит к сбою компиляции в webpack и других компиляторах!
document.documentElement.classList.add('myCssClass');
classList
поддерживается с ie10: https://caniuse.com/#search=classlist
Вы должны добавить класс, а не перезаписывать его
var headCSS = document.getElementsByTagName("html")[0].getAttribute("class") || "";
document.getElementsByTagName("html")[0].setAttribute("class",headCSS +"foo");
Я бы по-прежнему рекомендовал использовать jQuery, чтобы избежать несовместимости с браузерами.
С помощью Jquery ... Вы можете добавить класс к элементам html следующим образом:
$(".divclass").find("p,h1,h2,h3,figure,span,a").addClass('nameclassorid');
nameclassorid без точки или # в начале