• 締切済み

javascriptで<table>背景色の取得

一度質問させていただいたのですが締め切ってしまったため再度質問させていただきます。 やりたいことはjavascript内でtableの背景色を取得することです。 PHPの処理でtableの背景色を変更しているのですが 変更した後にjavascriptで指定の色だった場合、処理をするといったことがしたいので 変更後のtableの背景色を取得したいのです。 かなり悩んでいて詰まっている状況です。 どのような解決策があるかご教授お願いします。

みんなの回答

  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.4

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

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.3

<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>

k-karasu
質問者

補足

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

  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.2

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

k-karasu
質問者

補足

回答ありがとうございます。 カスタム背景を作成してそれを取得する感じですか。 少し調べてみます。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

調べればすぐにわかると思いますが、取得は簡単です。  element.style.backgroundColor で得られるはず。 返る値がいろいろなので、処理に少し工夫が必要になるでしょう。  http://d.hatena.ne.jp/yoppys/20080710/1215673179  http://d.hatena.ne.jp/unageanu/20090116/1232102860

k-karasu
質問者

補足

回答ありがとうございます。 そうですね、取得自体は簡単にできるんですが、 もともと設定していた色に対して PHPで変更して、そのあとJavascriptで色を取得できるかという感じなのですが、 初期設定色しか取得できない状況です。 見た目では色は変わっているのですが、なぜ取れないかわかりません。

関連するQ&A

  • javascriptで背景色の取得

    javascriptで<table>の背景色を取得したいと思っています。 例えば<table>の行のうち、背景色が赤だった場合その行に対して何かしら処理をしようと考えています。 行は一行ずつ取得しているのですがjavascript内で<table>の背景色をどのように取得するのか 悩んでいます。 色々調べたのですがこれといったものが見つからず、悩んでいます。 よろしくお願いします。

  • JavaScriptのテーブルの背景色を保存させたい

    とある下記のフリーソースからJavaScriptにてテーブルの背景色を変えるのを作ったのですが、複数の人とページを共有したいので色を変更後、保存させておきたいです。 <script language="JavaScript"> function my_bgcolor(dore) { if(document.all)document.all("lay0").style.backgroundColor=dore; } function cell1(dore) { if(document.all)document.all("lay1").style.backgroundColor=dore; } //--> </script> ※テーブルに色を指定するソースは以下のものです <td id="lay0" style="position: relative; visibility: visible"> どこかへSubmitして、外部ファイルへ保存しないといけないと思うので、上の動作ができるCGIのなにかよい案、似たようなソースをご存知の方がいましたら教えてください。

    • 締切済み
    • CGI
  • 背景画像の色を取得

    背景画像に使った画像のRGB値を取得したいのですが可能でしょうか。 やりたいこと 背景画像をランダムに変更し 背景画像の色に合わせてフォント色などを変えること たとえば背景画像の座標400,400のRGB値を取得など できますでしょうか。

  • Dreamweaver テーブルの背景色を自動で繰り返す方法を教えてく

    Dreamweaver テーブルの背景色を自動で繰り返す方法を教えてください。 Dreamweaver MX バージョン6.0を使用していおりますが、 テーブルを600行作り、2色の色で1行ごとに色を指定したい。と考えています。 600行すべてを選択し薄黄色に背景色をしたあと、 偶数行を一つずつ薄水色に変更する方法しか知りません。 簡単無操作で、テーブル内の背景色を以下のようにする事が出来ないでしょうか? ご存知の方がおられましたら、ご教授ください。 【完成イメージ】 1行目:背景色→薄黄色、 2行目:背景色→薄水色、 3行目:背景色→薄黄色、 4行目:背景色→薄水色、 600行までこれの繰り返し。

  • 一定時間ごとにテーブルの背景を変える

    すみません。どなたか分かる方教えてください。javascriptを使ってテーブルの背景を一定時間ごとに変えたいのですが(ランダムではなく時間を指定してです)、うまくいきません。 簡単なソース、もしくは該当するページをご存知の方いらっしゃいましたら、ご教授願います。

  • JavaScriptについて

    JavaScriptで指定した部分の色を変える方法ってどうすれば・・・ http://www.sky.sannet.ne.jp/masapine/java_top.html ↑で背景の色を変えるやり方は、のってあるんですけど部分的にするにはどうすればいいのか分かりません。 サイトなどあれば尚うれしいのですが。

  • ドリームウィーバーでテーブルの背景色の変更方法を教えてください

    ドリームウィーバーで作成したHPの背景色の変更はできますが テーブルを作成した場合、 そのテーブルの背景だけを他の色や画像を使用したいのですが どのように指定すればテーブルの背景をへんこうできますか? 今は直接タグを変更しております よろしくお願いします

  • 中央揃えのJavascript!

    Dreamweaver8を使っていたためposition:absoluteでサイトを作ってしまいました。ページを中央揃えで表示したいのですがどうにもうまくいきません。positionを変更して位置を指定し直すのは大変なので… ウィンドウサイズを取得してページを中央揃えにするjavascriptをご存知の方はいらっしゃいませんか? もしくは何か解決策をいただけると助かります。 よろしくお願い致します。<(_ _)>

  • 背景色変更のJavaScriptに手を加えて頂けませんか?

    <SCRIPT language="JavaScript"> <!-- function setBackgroundColor(pal) { document.bgColor=pal; } // --> </SCRIPT> <a href="javascript:setBackgroundColor('#FFFFFF')"><font color="#FFFFFF">背景色変更!</font></a> 上記は、クリックすることで背景色を変えるスクリプトですが、 これにちょっと手を加えてみたくて質問しました。 一つのページの中に、インラインフレーム(名称:f1)があります。上記スクリプトの「背景色変更!」をクリックしたとき、インラインフレーム内の背景色も同時に変えるにはどうしたらいいのですか?

  • ホームページ(HTML)の背景色の取得方法

    いつもお世話になっております。 指定したホームページの表示情報を取得する方法を調べています。 テキスト情報は「innerText」で取得することができるのですが、表示している表のセルの背景色を取得する方法がわかりません。 全体の背景色はHTMLファイルの中で記述があるのですが、各セルの背景色は外部のJavascriptファイル内で設定しています。 VBまたはVC#での取得をしたいのですが何か方法はないでしょうか?