2016-12-27 10 views
0

JavaScriptで一意のクラス名で要素を変更/更新するにはどうすればよいですか?HTML内の要素スタイルの変更/更新

次のコードが機能していません。

document.getElementsByClassName("test").style.backgroundColor = "blue"; 

HTMLマークアップ:

<div class="test"></div> 
<div class="test"></div> 
<div class="test"></div> 
+0

'document.querySelector( 'テスト ')'や 'document.querySelectorAll('。テスト')' –

答えて

0

参照:https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName

getElementsByClassName()は、指定する必要があるので、HTMLCollectionを返す整合素子のどのそれにスタイルが適用されます。

デモ:https://jsfiddle.net/jnu44ck0/

+0

アレイ!= HTMLcollection明確にするため –

+0

感謝。更新された回答 –

+0

http://stackoverflow.com/questions/15763358/difference-between-htmlcollection-nodelists-and-arrays-of-objects –

2

getElementsByClassNameは、配列のようなオブジェクトを返しますので、あなたは、個々の要素を摘み取る、または全部を反復処理する必要があります!

var elements = document.getElementsByClassName("test"); 
for(var i = 0; i < elements.length; i++) { 
    elements[i].style.backgroundColor = "blue"; 
} 
関連する問題