5

JavaScript のみを使用してページ上のすべての div を非表示にする方法を知りたいのですが、jQuery は使用できません。付属の配列を使用せずにこれを行う方法はありdocument.getElementByTagますか? または、ない場合は、すべてを非表示にする方法を教えていただけますか?

4

3 に答える 3

9

getElementsByTagName()すべての要素のリストを取得するために使用しdiv、それらの CSSdisplayプロパティをnone次のように設定します。

var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; i++) {
  divs[i].style.display = 'none';        
}
<div>sads</div>
<div>sads</div>
<span>not a div</span>

于 2012-08-28T21:03:57.683 に答える
1

ここでまったく異なるソリューションを出すだけです。

次のように、CSS クラスをボディに設定できます。

body.hideDivs DIV {
    display: none;
}

document.body.className = "hideDivs";

しかし、これはそれらの div 内のすべてを隠してしまいます。

于 2012-08-29T06:09:56.213 に答える
1

document.getElementsByTagNameを使用し、次に for ループを使用してすべての要素を処理する必要があります。

var divs = document.getElementsByTagName('div');
for(var i = 0; i < divs.length; i++) {
  divs[i].style.display = "none";
}
于 2012-08-28T21:04:54.997 に答える