使用jQuery的不同浏览器的标准颜色定义是什么?

时间:2009-09-11 07:55:12

标签: jquery colors

我需要在两种颜色之间闪烁:红色和白色。

我发现在$targetcss('background-color','red')之后,

$targetcss('background-color')的值不是红色,而是rgb(255, 255, 255)

注意firefox中的“,”和数字之间有空格,

但是IE中没有空间。

我的代码现在是:

if(existingBgColor != 'rgb(255, 255, 255)')
    $target.css('background-color', 'rgb(255, 255, 255)');
else 
    $target.css('background-color', 'white');

哪个适用于Firefox,但没有适用于IE。

当然我可以将其改为此以使其适用于IE:

if(existingBgColor != 'rgb(255, 255, 255)' && existingBgColor != 'rgb(255,255,255)')
    $target.css('background-color', 'rgb(255, 255, 255)');
else 
    $target.css('background-color', 'white');

但是对于第三个浏览器呢?

这是否有标准解决方案?

4 个答案:

答案 0 :(得分:0)

你能使用十六进制值吗?所以red =#ff0000和white = #ffffff

答案 1 :(得分:0)

使用HEX

同时查看kuler

答案 2 :(得分:0)

您可以指定十六进制颜色值,例如红色的#FF0000

$target.css('background-color', '#FF0000'); // red background color

这是一个Working Demo。检查Firebug或Web Developer工具栏中的结果

答案 3 :(得分:-1)

您可以在测试之前简单地修剪掉所有空格:

existingColor = existingColor.replace(new RegExp(/[" "]/g), ""); //rgb(255,255,255)

编辑,如评论中所述:十六进制值是跨浏览器,非常易于使用。但是如果你坚持rgb值,那么上面的代码将帮助你解决你的问题。然而。如果你开始写$myElm.css("background-color", "red");这样的东西,你就会得到一套全新的问题......