2012-02-20 11 views
12

Esta es la forma en que acceda al elemento de <body> para establecer un estilo de fondo:¿Cómo puedo hacer referencia al objeto DOM correspondiente al elemento <HTML>?

document.body.style.background = ''; 

Pero, ¿cómo puedo acceder al elemento <html> de una manera similar? El siguiente no funciona:

document.html.style.background = ''; 
+0

¿Puedo preguntar por qué usted ha fijado un fondo en la etiqueta HTML? ¿Incluso se muestra? –

+0

Funciona ... http://jsfiddle.net/aEHdw/ –

+0

@Grim [Aquí tienes ...] (http://www.nealgrosskopf.com/tech/thread.php?pid=47) – tkane

Respuesta

22

El elemento <html> se puede hacer referencia a través de la propiedad document.documentElement. En general, el elemento raíz de cualquier documento se puede consultar a través del .documentElement.

document.documentElement.style.background = ''; 

Nota: .style.background devuelve el valor de background como propiedad estilo en línea. Es decir, definido usando <html style="background:..">. Si desea obtener la propiedad de estilo calculado, utilice getComputedStyle:

var style = window.getComputedStyle(document.documentElement); 
var bgColor = style.backgroundColor; 
+1

Simplemente curioso, ¿sabes por qué lo llamarían documentElement en lugar de document.html? Es realmente contrario a la intuición IMO. – Lebowski156

+2

Posiblemente porque todos los documentos (XML, SVG, HTML, ...) tienen una raíz y "html" sería muy específico para (X) documentos HTML. –

4

El elemento raíz (<html>) se puede encontrar en document.documentElement, no document.html.

Esto se debe a que documentElement es un DOM estándar y no una extensión específica de HTML.

0

Por qué también establece el estilo en el HTML, hace uso de la etiqueta del cuerpo para cualquier estilo ..

para cambiar el fondo aplicado en html que tiene que llegar a la raíz de la página

utilizando el documento. documentElement puede hacer

Utilice esta

document.documentElement.style.background = ''; 
Cuestiones relacionadas