2017-05-17 8 views
1

私は、onloadを使用して親要素の背景色を変更しようとしています。親の背景色を変更するにはどうすればいいですか?

Codepen: https://codepen.io/gredesign/pen/GmXmPX?editors=1100

<div id="parent"> 
    <span onload="this.parentNode.style.backgroundColor='grey';">Test</span> 
</div> 
+0

あなたはbodyタグでそれを行うことができます。しかし、インラインスクリプトを使用しない方が良いです。代わりにイベントハンドラを追加してください。 – inarilo

答えて

0

こんにちはあなたはjqueryの でそれを行うことができますあなたは、ローダIDをあるListenOnとローダがDOM

$("#loader").ready(function() { 
 
     $(this).parent().css({backgroundColor: 'red'}); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="parent"> 
 
     <span id="loader" >Test</span> 
 
</div>

の準備状態に達する背景を設定します
+0

Ottmarありがとう、私はあなたが探していた正確な答えを見つけるために提供したものを使用することができました。私が探していたソリューションは、純粋なjavascriptソリューションのほうが多く、外部ライブラリは必要ありませんでした。私はそれをより具体的にすべきだった。私が何をもって終わったかを見るには、以下の答えを見てください。ご協力いただきありがとうございます! – Dev

1

ここでの主な問題は、onloadをjs/jquery関数に分割するのではなく、インラインで書く必要がある場合を除いて、IDやクラスを追加して別の関数で参照するだけです。これには、はるかに簡単にデバッグできる利点があります。

parentNodeはうまくいき、javascriptが既に別の名前で使用している単一の関数に対してjqueryをロードする必要はありません。

0

ここで私が以下で探していた答えがあります。みんなの助けと洞察に感謝します。

https://codepen.io/gredesign/pen/JNarGX?editors=1111

<div id="parent"> 
<span value="red">123456</span> 
</div> 
<script> 
    var color = document.getElementsByTagName("span")[0].attributes[0].value; 
    document.getElementById("parent").style.backgroundColor=color; 
</script> 
関連する問題