如何引用<HTML>元素对应的DOM对象?

36

这是如何访问<body>元素并设置背景样式:

document.body.style.background = '';

但是我怎样才能以类似的方式访问<html>元素呢?以下代码无法实现:

document.html.style.background = '';

请问您为什么在HTML标签上设置了背景?它真的会显示吗? - Grim...
它可以工作... http://jsfiddle.net/aEHdw/ - Chuck Norris
@Grim 给你... - tkane
你知道吗,现在我想起来了,我自己也做过这件事 - 为了防止Chrome将短页面底部渲染成灰色。 :facepalm: - Grim...
3个回答

50

<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;

1
只是好奇,你知道为什么他们会称其为documentElement而不是document.html吗?在我看来,这真的很不直观。 - Lebowski156
3
可能是因为所有文档(XML、SVG、HTML等)都有一个根元素,“html”过于特定于(X)HTML文档。 - Rob W

9

根元素(<html>)可以在document.documentElement中找到,而不是document.html

这是因为documentElement是标准DOM,而不是HTML特定的扩展。


0
为什么在 HTML 上设置样式时要用 body 标签来进行任何样式设计?
要更改应用于 html 的背景,必须进入页面的根部
使用 document.documentElement 可以实现此目的
请使用此方法
document.documentElement.style.background = '';

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接