domA.style.display = "无"; domA.style.display = "块;
我在库中找不到这样的函数,但我想他们一定有它。
domA.style.display = "无"; domA.style.display = "块;
我在库中找不到这样的函数,但我想他们一定有它。
<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>
另一种选择是
var elA = goog.dom.getElementByClass('sdf');
goog.style.showElement(elA, true) // 显示元素
goog.style.showElement(elA, false) // 隐藏元素
根据此处更新的官方文档,建议使用以下内容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");