jQueryで色を16進数で受け取る
スポンサーリンク
jQueryで色を受け取ると、ブラウザごとにばらばらの形式で値をわたされます。ブラウザ間の差異などについては、こちらのサイトで説明してくれているのですが、Operaは16進数、chromeやIE、firefoxはRGBで色がわたされます。
jQueryで色名を取得する際の注意 / It's a long way to the topで、同じRGBでもIEとchromeやfirefoxでは微妙に形式が違うと。けっこう面倒ですな。
var color = $("#foo").css( "background-color" );
こうやった時に、背景色の値を16進数で受け取りたかったわけです。で、なんかないかなーと探したら、2つ候補が見つかった。
[Jquery] RGB表記を16進数表記に変換 – はるかなる熊 jQuery Color プラグインを拡張:humming bird下の方がいろいろな機能が盛り込まれていて高機能ですが、今回はRGBから16進数に変換したいだけなので、上のjquery-color-utilsを使わせていただくことにします。
使い方は簡単で、$.fmtColor()
に値を渡すだけ。rgbで渡した場合は16進数で、16進数で渡した場合はrgbで戻してくれる。16進数の場合、#000
みたいな省略した書き方でもOK。
var rgb = $(this).css("background-color"); alert(rgb); //rgb(255,0,0) var color = $.fmtColor( rgb ); alert( color ); //#FF0000
こいつは便利だ。ありがたいことです。
スポンサーリンク
jQueryカテゴリーの投稿
- [jQuery] $.ajaxのコールバック関数にcontextで値を渡す
- [jQuery] 文字列が含まれているかどうかの判定
- [jQuery] rowspanを持つtableで行の表示・非表示を切り替える
- [jQuery] find()とchildren()の使い分け
- jQueryとPHPでAJAX通信を行う
- [jQuery] $('form').change()でフォーム全体の変更を監視する
- [jQuery] 属性が存在するかどうかチェックするコード
- [JS][jQuery] 要素の存在を確認する6通りのコードと実行速度
- [jQuery] tableの内容を取得する
- [jQuery] clone()で操作対象のエレメントを元の位置に保つ