jQuery で CSS の color を取得すると・・・

今日は Android の ScaleGestureDetector のメソッド、getCurrentSpanX() と getFocusX() の違いを調べた結果を書こうと思っていたのだが・・・状態を見ているかどうかの違いしかないのかなぁというところまでしか調べきれなかったのと、ちょっと jQuery の動きにびっくりしたので、それをメモで残しておくことにした(すぐ忘れてしまうので)。

やったのは jQuery で CSS のテキストの色を取得して、動きを変えたいという簡単なことだったのだが・・・実は、こういうコードを求められたことがなかったような気がする。普通に考えると、取得した値 === ‘#000000’ というコードでいけそうだが、うまくいかない。

var rgb = $('#hoge').css('color');
console.log(rgb);

結果は・・・

rgb(0, 0, 0)

お。検索してみると、jquery-color-utilsを使うと簡単に変換できるようだ。しかし、今回は一カ所だけ、それも色が黒かどうか判定するだけなので、プラグインを導入するのもためらわれる。そんなときはやっぱり、正規表現で・・・

var rgb = $('#hoge').css('color');
console.log(rgb.match(/^rgb\((0+),\s*(0+),\s*(0+)\)$/));

文字の色が黒ならば、ちゃんと true が帰ってきました。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.