Как добавить класс к <html>
корневому элементу с помощью Javascript?
javascript
html
Брэндон Лебедев
источник
источник
Ответы:
Как это:
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 и других компиляторах!Я бы порекомендовал вам взглянуть на jQuery .
способ jQuery:
$("html").addClass("myClass");
источник
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 без точки или # в начале
источник