9

domA.style.display = "none"; 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; property2:value2'。

goog.dom.getElement('myElement').style.display = 'block';これはあなたの質問のように示唆するでしょう。

showElementを使用する場合、2番目の引数をに設定するtrueと、要素がそのに戻ることに注意してくださいdefault style。それが言うように:

要素をデフォルトのスタイルでレンダリングする場合はtrue、要素のレンダリングを無効にする場合はfalse。

ただし、これが意味するのは、display: noneCSSで設定した場合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 に答える