2016-11-11 12 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を使用することをあなたにお勧めします。 –

関連する問題