Как я могу ссылаться на элемент <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 может выполнять