5

私の問題は次のとおりです。

を使用して「新しい」ドキュメントを生成するJavaScriptコードがdocument.writeあり、最初はWebページの見出し全体を記述します。その頭の中に、次のようなCSSコードが少しあります。

<style type='text/css'> 
.black {background-color: black;} 
.white {background-color: #ffffff;} 
td {width:50px; height:50px;} 
</style>

そして、javascriptはbodyセクションにテーブルを描画します。コードの記述は、基本的forにチェス盤を描く2つのループです。しかし、それも問題ではありません。すべてtdの要素はクラスを取得するblackwhite、それによって適切に色付けされます。そして、すべてtdonclick='changeBg(this)'属性を取得します。

ここで問題が発生します。クリックされた要素の背景色にアクセスできません。関数は次のようになります。

function changeBg(element)
{
    alert(element.style.backgroundColor);
    element.style.backgroundColor = "red";
}

最初に、現在の要素の色を警告します。常に空白の通知を警告します。色を赤に変更して要素をもう一度クリックすると、アラートが表示されredます。'はtdブラウザで色付けされており、firebugで検査するとbackground-color: black | white;があります。

私は何が欠けていますか、そしてこれを修正する方法は?;tdを使用して作成するときに色を設定すると、気づきました。style="color: black | white"それは機能しますが、それらがどのクラスに属しているのかわかりません。

4

1 に答える 1

6

現在適用されているスタイルwindow.getComputedStyleは、 -Docsを使用して取得できます

function changeBg(element) {
    alert(window.getComputedStyle(element).backgroundColor);
    element.style.backgroundColor = "red";
}
于 2013-01-04T08:59:26.280 に答える