9

domA.style.display = "无"; domA.style.display = "块;

我在库中找不到这样的函数,但我想他们一定有它。

4

3 回答 3

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>
于 2009-12-29T21:01:26.693 回答
5

另一种选择是

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

goog.style.showElement(elA, true) // 显示元素

goog.style.showElement(elA, false) // 隐藏元素

于 2013-04-24T12:10:11.233 回答
4

根据此处更新的官方文档,建议使用以下内容setStyle

设置元素的样式值。...如果可能,请使用本机 API: elem.style.propertyKey = 'value' 或(如果消除旧样式没问题) elem.style.cssText = 'property1: value1; 属性 2:值 2'。

这会建议goog.dom.getElement('myElement').style.display = 'block';你的问题。

还需要注意的是,如果您使用showElement,将第二个参数设置为true会将元素返回到它的default style. 正如它所说:

true 以默认样式呈现元素,false 禁用呈现元素。

但是,这意味着如果您display: none在 CSS 中设置,设置true仍然不会显示元素,因为 CSS 默认样式是隐藏元素!这与 jQuery 不同。

要切换,您可以这样做:

var el_style = goog.dom.getElement('myElement').style;
el_style.display = (el_style.display === "none" ? "block" : "none");
于 2013-12-14T02:28:02.467 回答