2009-12-23 7 views

Respuesta

15
<html> 
<head> 
<script src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js" type="text/javascript"></script> 
<script language="JavaScript"> 
    goog.require('goog.style'); 
</script> 
</head> 
<body> 
    <div id="myElement">test</div> 
</body> 
</html> 
<script> 
    goog.style.setStyle(goog.dom.$("myElement"), "display", "none"); 
    // or 
    goog.style.showElement(goog.dom.$("myElement"), false); 
</script> 
+5

de acuerdo con lo que la gente dice en grupo de cierre, $ funciones probablemente serán eliminados a favor de goog.dom.getElement ('') MyElement funciones de estilo – Evgeny

+0

Este el enfoque ahora está desactualizado, como se detalla a continuación :) – Nick

4

Otra opción es

var = ELA goog.dom.getElementByClass ('sdf');

goog.style.showElement (ELA, true) // Mostrar elemento

goog.style.showElement (ELA, fals e) // elemento ocultar

+4

Esto está en desuso. Use setElementShown() en su lugar. – jdbertron

4

De acuerdo con el más reciente official documentation here, se recomienda lo siguiente para setStyle:

establece un valor de estilo de un elemento. ... Cuando sea posible, use API nativas: elem.style.propertyKey = 'value' o (si borra los estilos antiguos es fine) elem.style.cssText = 'propiedad1: valor1; propiedad2: valor2 '.

Esto sugeriría goog.dom.getElement('myElement').style.display = 'block'; como en su pregunta.

También es útil tener en cuenta que si utiliza showElement, preparando el segundo argumento de true devolverá el elemento a su default style. Como dice:

Es cierto que representa el elemento en su estilo predeterminado, falso para deshabilitar representando el elemento.

Lo que esto significa, sin embargo, es que si establece display: none en el CSS, el establecimiento de true todavía no se mostrará el elemento porque el estilo por defecto CSS es ocultar el elemento !! Esto es diferente de, digamos, con jQuery.

Para alternar, se puede hacer esto:

var el_style = goog.dom.getElement('myElement').style; 
el_style.display = (el_style.display === "none" ? "block" : "none"); 
+0

El enlace "documentación oficial aquí" parece ahora roto. – jochen

Cuestiones relacionadas