2012-08-08 138 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