【问题标题】:What's the standard color definition for different browsers with jQuery?使用 jQuery 的不同浏览器的标准颜色定义是什么?
【发布时间】:2009-09-11 07:55:11
【问题描述】:

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

我发现$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');

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

这有标准的解决方案吗?

【问题讨论】:

    标签: jquery colors


    【解决方案1】:

    你可以使用十六进制值吗?所以红色 = #ff0000 和白色 = #ffffff

    【讨论】:

      【解决方案2】:

      使用HEX

      也可以看看kuler

      【讨论】:

      • 你必须在数字前加上“#”——“#000000”代表黑色,“#FFFFFF”代表白色,“#FF0000”代表红色,“#0000FF”代表蓝色,等
      【解决方案3】:

      您可以指定一个十六进制颜色值,例如#FF0000 表示红色

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

      这里有一个Working Demo 可以玩。在 Firebug 或 Web Developer 工具栏中检查结果

      【讨论】:

        【解决方案4】:

        您可以在测试前简单地删除所有空格:

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

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

        【讨论】:

        • 事实上,我期待某种方式来使用“红色”、“白色”等颜色,但目前看来这是快速解决方案。
        • 错误的选择。 JavaScript 中的正则表达式很慢。使用 HEX(看看我的回答)。
        • 10-20字符长度字符串的正则表达式并不慢。不可能。你的回答没有回答他的问题,因为他正在寻找检查 rgb 值的方法。你给了他另一个选择。
        • @peirix - OP 并没有要求检查 RGB 值本身的方法,而是跨浏览器的标准颜色定义,十六进制颜色值是
        • 是的,但问题是关于 rgb 值。你给了他另一个选择,这很好。我不应该因为给他一个问题的答案而投反对票,即使这可能不是最理想的。如果他想使用 rgb 值,那么你的回答并没有真正的帮助。
        猜你喜欢
        • 1970-01-01
        • 2015-06-22
        • 2015-08-04
        • 2018-10-01
        • 2019-09-30
        • 1970-01-01
        • 2020-11-28
        • 2022-01-22
        • 2014-08-29
        相关资源
        最近更新 更多