2016-12-28 3 views
-3

私は設定スタイルが必要な私のブートストラップと私の要素はbootsrap col-sm-6 div要素の中にあります。なぜ私のスクリプトが動作していないのかわかりません。私は、この要素がロードされた後、それが実行されていると思うので、JSは別のdiv内にスタイルマージンを設定しません

<div class="row"> 
<div class="col-sm-6 spacer1"> 
//Objects 
</div> 
</div> 
<script type="text/javascript"> 
document.getElementByClassName('spacer1').style.padding = "50px 50px"; 
</script> 

私のスクリプトは私の要素の下に置かれています。私はすべてを試しましたが、これはうまく動作しません。 はい、私はこれをCSSファイルに書き込むことができますが、各divに対してこれを動的に変更する必要があります。ここで何が間違っていますか?

EDIT この返品ノーリストは、どのように選択するのですか? Iこれについて何かを知っているドン...

は、私はすべて:)

+0

関数名に 's'がありません。 '.getElementsByClassName()'はノードリストを返します。まず、このリストからノードを選択し、スタイルプロパティを適用します。 –

+0

OPは、まったく存在しない 'getElementByClassName'(単数)を使用しており、ブラウザのコンソールに表示されるエラーをスローする必要があります。だから、@ supercoder、あなたはそのエラーを取得しましたか?実際にここで適切な機能を使用する必要があります。おそらく、複数のノードを(潜在的に)ターゲットにする必要がある場合は、単一のノードを返す 'querySelector'、あるいは' getElementsByClassName'や 'querySelectorAll'に切り替えることができます。 – GolezTrol

+2

スタイルを追加するためにCSSの代わりにJSを選択した理由は何ですか?ここにはイベントハンドラはありません。 –

答えて

1

getElementsByClassName()を修正した、ありがとうございましたあなたが最初の要素を選択する必要があるので、要素の配列を返します。

は存在しません

document.getElementsByClassName('spacer1')[0].style.padding = "50px 50px"; 
+0

getElementByClassNameがまったく存在しません。 – GolezTrol

+0

実際、getElementsByClassName( 'spacer1')[0]は、単数型ではなく複数型です。 –

0

document.getElementsByClassName('spacer1')[0].style.padding = "50px 50px";

getElementByClassNameを試してみてください。

getElementsByClassNameを使用して、nodeListの最初の要素を選択できます。

続きを読むhere

関連する問題