この.css
メソッドの出力は、ブラウザごとに異なります。
$('<div>').css('background-color', 'red').css('background-color');
// Google Chrome
// "red"
// Mozilla Firefox
// "rgb(255, 0, 0)"
もう一つの例:
$('<div>').css('background-color', 'rgba(0, 0, 0, 0)').css('background-color');
// Google Chrome
// "rgba(0, 0, 0, 0)"
// Mozilla Firefox
// "transparent"
解決
Working FIDDLE Demo
すべての可能な状況ですべての色を保存するオブジェクトを作成します。
var colors = {
'red' : ['red' , '#FF0000', '#ff0000', 'rgb(255, 0, 0)', 'rgba(255, 0, 0, 1)'],
'green': ['green', '#00ff00', '#00FF00', 'rgb(0, 255, 0)', 'rgba(0, 255, 0, 1)']
// etc
};
$.inArray
これで、比較にメソッドを使用できます。
HTML
<div id="test1" style="background-color: red;">I am RED</div>
<div id="test2" style="background-color: blue;">I am Blue</div>
JS
// you want to see if `elem_color` is `red`
// just like this: elem_color == 'red'
var elem_color = $('#test1').css('background-color');
if ($.inArray(elem_color, colors['red']) > -1) {
alert('Element is RED');
}
// you want to see if `elem_color` is not `green`
// just like this: elem_color != 'green'
var elem_color = $('#test2').css('background-color');
if (! ($.inArray(elem_color, colors['green']) > -1)) {
alert('Element is not GREEN');
}