javascript
2017-01-31 5 views 0 likes 
0

を追加elementByClassを取得ピュア私は、次のJavaScriptコードを持っている:Javascriptが隠され

setTimeout(function() { 
    var el = document.getElementsByClassName('video'); 
    el.className += " hidden"; 
    // el[0].style.visibility = 'hidden'; 
}, 3000); 

私はビデオクラスにクラスに隠しを追加するためのスクリプトを望んでいました。 Watは私のコードについて間違っていますか?

あなたの誠意をこめて

+0

上で[.getElementsByClassName() ''](https://developer.mozilla.org/en-US/docs/の戻り値を反復処理する必要がありますWeb/API/Element/getElementsByClassName)は、要素の集合です。コード内のコメント部分に基づいて既に知っていること... – Andreas

答えて

1

あなたは繰り返し部分がありません。メソッドgetElementsByClassNameは、要素のNodeListを返します。だから、あなたは、メソッドの名前が示すように、NodeList

setTimeout(
function(){ 

var el = document.getElementsByClassName('video'); 

for(var element of el){ 
el.className += "hidden"; 
} 

} 
,3000); 
+1

['for ... in ...'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/ Guide/Loops_and_iteration for for ... in_statement)は、配列(配列のようなオブジェクト)ではなく、オブジェクトを対象としています - > [なぜ "for ... in"を配列の繰り返しと一緒に使うのが悪いのですか?](https:// stackoverflow。 com/questions/500504/why-is-for-with-with-with-array-iteration-a-bad-idea) – Andreas

+0

ポストをありがとう。それを試してくださいが、うまくいきません。私はちょうど初心者@ Javascriptです。 getElementsByClassNameのため、自動的に配列を作成します。すべてのクラスが正しくチェックされるからです。なぜel.className [0] + = "hidden"ですか;ノグの仕事? –

+0

@アンドレアスはい、あなたは正しいですが、いくつかのC#コードを書いて、 'for'ループを使うために投稿を修正しました。 – Agalo

関連する問題