2016-11-11 87 views
-5

我想隐藏类asp的所有元素,但问题是下面的代码只隐藏1个元素,但不适用于其他1000行/元素。我怎样才能隐藏类“asp”的所有元素?Javascript getElementsByClassName - 选择所有元素

function toggleFunction() { 
 
    var hide = document.getElementsByClassName('asp')[0].style.visibility='hidden'; 
 
} 
 

 
toggleFunction()

回答

3

你只隐藏的一个原因是[0]。你在说“拿到名单,然后拿第一名”。

试试这个:溶液

var elements = document.getElementsByClassName('asp'); 

for (var i=0; i<elements.length; i++) { 
    elements[i].style.visibility = 'hidden'; 
} 
+0

伟大谢谢:) – PapeShango

2

例子:

function toggleFunction() { 
 
    var elems = document.getElementsByClassName('asp'); 
 
    for (var i = 0, l = elems.length; i < l; i++) 
 
    elems[ i ].style.visibility = 'hidden'; 
 
}
<button type="button" onclick="toggleFunction()">Hide</button> 
 
<div class="asp">1</div> 
 
<div class="asp">2</div> 
 
<div class="asp">3</div> 
 
<div class="asp">4</div> 
 
<div class="asp">5</div> 
 
<div class="asp">6</div> 
 
<div class="asp">7</div> 
 
<div class="asp">8</div> 
 
<div class="asp">9</div>

+0

但我向你推荐使用jQuery这一点。 –