2009-12-23 6 views

Antwort

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

nach, was die Leute sagen, auf Schließung Gruppe, wird $ Funktionen wahrscheinlich für goog.dom.getElement entfernt werden (‚myElement‘) Stil Funktionen – Evgeny

+0

Diese Ansatz ist jetzt veraltet, wie unten :) – Nick

4

Eine weitere Option ist

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

goog.style.showElement (ELA, true) // anzeigen Element

goog.style.showElement (ELA, FALS e) // hide Element

+4

Dies ist veraltet. Verwenden Sie stattdessen setElementShown(). – jdbertron

4

Nach der neueren official documentation here wird folgendes für setStyle empfohlen:

Legt einen Stil Wert auf ein Element. ... Verwenden Sie nach Möglichkeit native APIs: elem.style.propertyKey = 'value' oder (wenn alte Stile gelöscht werden, ist in Ordnung) elem.style.cssText = 'property1: value1; property2: value2 '.

Dies würde vorschlagen goog.dom.getElement('myElement').style.display = 'block'; wie in Ihrer Frage.

Es ist auch hilfreich zu beachten, dass wenn Sie showElement verwenden, das zweite Argument auf true setzt das Element auf seine default style zurück. Wie es heißt:

True, um das Element in seinem Standardstil zu machen, falsch wodurch das Element zu deaktivieren.

Was dies bedeutet, ist jedoch, dass, wenn Sie display: none in Ihrem CSS gesetzt, das Setzen von true immer noch nicht das Element zeigen, da der CSS Standardstil, das Element zu verstecken ist !! Dies ist anders als beispielsweise mit jQuery.

So zu wechseln, können Sie dies tun:

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

Der Link "offizielle Dokumentation hier" scheint jetzt kaputt zu sein. – jochen