3

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

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

我找到了通过 RGB 解析的其他答案,但对于我需要它的东西来说,它们确实看起来有点过分了。

4

3 回答 3

11

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

$('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'
于 2012-08-08T19:36:59.327 回答
4

在值之后添加一个空格 - http://jsfiddle.net/c6874/

if ( $("p").css("color") == 'rgb(255, 0, 0)' ) {
    alert("It's red");
}
于 2012-08-08T19:37:17.053 回答
2

这在基本的 javascript 中并不是一个简单的任务,考虑以下事实

white == #FFF == #FFFFFF == rgb(255,255,255) == rgba(255,255,255,0

这是一个执行此操作的免费库: http ://www.phpied.com/rgb-color-parser-in-javascript/

于 2012-08-08T19:37:11.637 回答