2017-08-24 6 views
0

jQueryスクリプトを使用して、ページがロードされるときにヘッダーの背景色を取得し(キューの$(document).ready(function(global))、この値をaの背景スタイルプロパティに入力したい表。変更<style> jQueryスクリプトの後に

テーブルのプロパティは、現在、<style>/</style>タグを使用して定義されており、スクリプトが目的の値を取得する前に実行されます。したがって、<style>タグが実行された後に<script>が実行されるため、格納されているカラー変数を<style>タグに入力することはできません。

<script>が実行された後に、<style>タグを実行するコードの一部を取得して、タグに格納された変数を入力できるようにする方法です。

これは私の知るところですが、私が取り組んでいるアプリケーションでは、非常に厳しいパラメータがあり、読み込み後に色変数を定義する必要があります。カラーのバックエンドコーディングは、それらが一時的なキャッシュファイルに格納されているため不可能なので、私が記述した状況に制限されています。

答えて

0

あなたはスタイルシートと同じようにDOMとやりとりするためにスタイルシートを使用して、を変更します。を使用しないでください。

.style propertyを使用してスタイリングに変更を加えます。

次の例では、.backgroundColorと背景を変更する例を示します

var headerColour = document.getElementById('header').style.backgroundColor; 
 
var element = document.getElementById('element'); 
 
element.style.backgroundColor = headerColour;
#element { 
 
    height: 100px; 
 
    width: 100px; 
 
    background: red; 
 
}
<div id="header" style="background-color: green"></div> 
 
<div id="element"></div>

注CSSは正方形が赤であるべきと言うが、JavaScriptが正方形が緑色であるべきと言うこと。その結果、緑色に変わります。 CSSを使ってスタイリングを適用した後に、JavaScriptを使ってスタイリングすると、が自動的にに適用されます(前述)。

希望すると便利です。 :)

+0

私はjqueryでスタイルを変更しません。ヘッダーカラーを取得する必要があるため、jqueryでグローバル属性を定義します。次に、テーブルの背景色を定義するためにグローバル変数を使用する必要があります。スクリプトが実行されるときに色がちらつくことがないように、ページがロードされる前にこれを行う必要があります。 –

+0

あなたは非常に似たようなことをします。ヘッダーの色を変数として保存し、 '.style'を使用してテーブルの色の値をその変数に設定します。私は正確にそのショーケースに私の答えを更新しました。 –

+0

ok .styleを使用する方法を理解しました。今は、表が白く表示されてから色が非常に速く変わっても、ページが表示される前にjqueryスクリプトが実行されています。 bodyタグにアクセスできないので、これはhtmlのタグでは実行できません。 –

関連する問題