我需要在两种颜色之间闪烁:红色和白色。
我发现在$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');
但是对于第三个浏览器呢?
这是否有标准解决方案?
答案 0 :(得分:0)
你能使用十六进制值吗?所以red =#ff0000和white = #ffffff
答案 1 :(得分:0)
答案 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");
这样的东西,你就会得到一套全新的问题......