-1

クラスを持つサーバル div があり、それらを JavaScript で定義したいと考えています。これが私のjsfiddleスクリプトです。現在はDIV IDのみを使用していますが、複数のブロックを追加したいのでクラスでなければなりません。誰か助けてくれませんか?

var block = document.getElementById('block');
var minimizewindow = document.getElementById('minimizewindow');

block.style.height = "250px";
minimizewindow.style.display = "none";  

//function minimize
minimize.onclick = function(){
    if(block.style.height == "250px") {
        block.style.display = "none";
}   .........

http://jsfiddle.net/uVSyX/

壊れた画像をクリックしてください: 最小化、最大化、閉じる

ありがとうございました!

編集:私はそれを理解していないと思います、私は複数のdivを表示したり隠したりしたくありません...

4

3 に答える 3

1

document.getElementsByClassName('myClass');が最も簡単な方法ですが、IE ではサポートされていません。 Mozilla には、これに関する優れたドキュメントがあります

IE のサポートが必要な場合は、次のページが参考になるかもしれません: http://robertnyman.com/2008/05/27/the-ultimate-getelementsbyclassname-anno-2008/

于 2013-02-07T14:38:38.903 に答える
1

それらをjavascriptで定義したいと思います。

これは悪い考えです。スタイリングの指示は、CSS スタイル シートに属します。

ここに行く正しい方法は、のようなクラスを持つこと.expandedです.contracted

それらには次のようなルールが含まれます

.expanded { width: 800px; display: block }

class次に、JavaScript でプロパティを変更するだけです。jQueryにはクラスを処理するための便利なメソッドがあるため、これが非常に簡単になります。

于 2013-02-07T14:39:07.137 に答える
0

この関数をどこで見つけたか覚えていませんが、クラスに基づいて要素を見つけるために使用したものです。

var elems = document.getElementsByTagName('div'),i;
for (i in elems) {
  if((" "+elems[i].className+" ").indexOf(" "+matchClass+" ") > -1) {
    elems[i].style.display = "none";
  }
}

matchClass探しているクラスの名前です。


上記のコードを更新して、関数の実行時に設定されるようにdiv定義された特定のクラスですべてを設定しました。matchClassdisplay:none

于 2013-02-07T14:38:20.507 に答える