dポイントプレゼントキャンペーン実施中!

一度質問させていただいたのですが締め切ってしまったため再度質問させていただきます。

やりたいことはjavascript内でtableの背景色を取得することです。

PHPの処理でtableの背景色を変更しているのですが
変更した後にjavascriptで指定の色だった場合、処理をするといったことがしたいので
変更後のtableの背景色を取得したいのです。

かなり悩んでいて詰まっている状況です。
どのような解決策があるかご教授お願いします。

A 回答 (4件)

>カスタム背景を作成してそれを取得する感じですか。



カスタム背景というのはなにかわかりませんが、
背景色が取得できないなら、
クラス(class="#ff0000")や独自データ属性(data-bg="#ff0000")など出力されるようにして、これを取ればいいんではないでしょうか?
ということです。
    • good
    • 0

<style type="text/css"> table { background-color: yellow; } </style>


<table border id=target><tr><td>背景に<td>色が<td>ついた<td>表</table>

<script>
var table = document.getElementById('target');

// CSS の指定は読み取れない
alert(table.style.backgroundColor); // ''

// 要素に対する CSS の反映内容を計算する / IE9+
var cumpStyle = document.defaultView.getComputedStyle(table, null);
alert(cumpStyle.backgroundColor); // 'rgb(255, 255, 0)'

</script>

この回答への補足

回答ありがとうございます。

処理で選択したCSSの色は取得できないけど
要素のスタイルの内容を計算する処理をして取得するということですね。

補足日時:2014/09/22 10:33
    • good
    • 0

背景色にこだわらなくても、なにか取りやすいclassなどを背景色に合わせて生成するという方法もありますね。

この回答への補足

回答ありがとうございます。

カスタム背景を作成してそれを取得する感じですか。
少し調べてみます。

補足日時:2014/09/22 10:30
    • good
    • 0

調べればすぐにわかると思いますが、取得は簡単です。


 element.style.backgroundColor
で得られるはず。

返る値がいろいろなので、処理に少し工夫が必要になるでしょう。
 http://d.hatena.ne.jp/yoppys/20080710/1215673179
 http://d.hatena.ne.jp/unageanu/20090116/1232102860

この回答への補足

回答ありがとうございます。

そうですね、取得自体は簡単にできるんですが、
もともと設定していた色に対して
PHPで変更して、そのあとJavascriptで色を取得できるかという感じなのですが、

初期設定色しか取得できない状況です。
見た目では色は変わっているのですが、なぜ取れないかわかりません。

補足日時:2014/09/19 18:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!