Как я могу ссылаться на элемент <HTML>, соответствующий объекту DOM?
Вот как вы получаете доступ к элементу <body>
для установки стиля фона:
document.body.style.background = '';
Но как я могу получить доступ к элементу <html>
аналогичным образом? Не работает следующее:
document.html.style.background = '';
Ответы
Ответ 1
Элемент <html>
можно передать через свойство document.documentElement
. В общем случае корневой элемент любого документа можно передать через .documentElement
.
document.documentElement.style.background = '';
Примечание: .style.background
возвращает значение background
как свойство встроенного стиля. То есть определяется с помощью <html style="background:..">
. Если вы хотите получить рассчитанное свойство стиля, используйте getComputedStyle
:
var style = window.getComputedStyle(document.documentElement);
var bgColor = style.backgroundColor;
Ответ 2
Корневой элемент (<html>
) можно найти в document.documentElement
, а не document.html
.
Это потому, что documentElement
является стандартным DOM, а не расширением HTML.
Ответ 3
Почему тоже задан стиль в HTML, используйте тег body для любого стиля.
чтобы изменить фон, применяемый к html, вы должны попасть в корень страницы
с помощью document.documentElement может выполнять
Используйте этот
document.documentElement.style.background = '';