2012-08-08 142 views
3

我想用jQuery或Javascript中的简单方法与返回的rgb颜色值进行比较。我尝试了所有我能想到的东西,但无法得到任何评价真实的东西。如何与JQuery RGB值进行比较?

if($('.Updated-Alert').css('color') == 'rgb(255,0,0)') 

我发现了其他答案,通过RGB解析,但他们真的看起来像是我需要它的主要矫枉过正。

+0

是什么'CSS( '颜色')'返回? – Ibu 2012-08-08 19:36:42

+0

这取决于你正在使用的浏览器,当你比较没有空格的'rgb(255,0,0)'时,firefox 14.0.1会返回'rgb(255,0,0)'。 – Matthew 2012-08-08 19:37:05

+0

该字符串可能包含空格(因为浏览器)。就像'rgb(12,34,56)'这对你的支票是错误的。 – 2012-08-08 19:37:21

回答

9

它只是返回一个字符串。您的比较失败,因为您的空白区域阻止了等值。

$('div').css('color') === 'rgb(0, 0, 255)' 

http://jsfiddle.net/etLcv/

如果你想强化它一点点,你可以修剪的空白,并比较认为:

$('div').css('color').replace(/\s+/g, '') === 'rgb(0,0,255)' 

甚至修剪出任何东西,但数字:

$('div').css('color').replace(/\D+/g, '') === '00255' 
+4

'rgb(25,50,0)'trim =>'25500'; 'rgb(255,0,0)'trim =>'25500' – 2014-11-19 20:09:56