【问题标题】:How to check whether two colors are same using JS/jQuery [duplicate]如何使用 JS/jQuery 检查两种颜色是否相同 [重复]
【发布时间】:2014-05-08 15:39:52
【问题描述】:

一旦使用Chrome,console.log($("#some-element").css("background-color")),它会返回rgba(255, 255, 255, 255),即white,如何检查元素的背景颜色是否为白色?

【问题讨论】:

  • 仅供参考 rgba(0,0,0,0) 是黑色的 0 不透明度。
  • 我不确定您在寻找什么。你在运行一些自动化测试吗?
  • 白色在 RGB 中是 (255, 255, 255)
  • 我只是想检查一个元素的背景颜色是否为白色。
  • 我用Chrome,如果一个元素没有明确定义background-color属性,它返回rgba(0,0,0,0)而不是undefined,那么说一个元素没有background-color的定义是不是很危险如果$("#some-element").css("background-color") == "rgba(0,0,0,0)" 返回true?

标签: javascript jquery html css frontend


【解决方案1】:

您可以使用How to get the background color code of an element? 中描述的代码,其中颜色的形式被转换为其代码。您可以获取要比较的颜色代码,然后比较代码。

【讨论】:

  • 如何检查一个元素是否定义了background-color?使用Chrome时返回rgba(0,0,0,0),使用Firefox时返回transparent。
  • @coderz 正如stackoverflow.com/questions/5380431/… 中所讨论的那样,我将查看每个主要浏览器返回的值值,并将其转换硬编码为适当的更多值。
【解决方案2】:

在JS

if (document.getElementById('someElementId').style.backgroundColor == "rgb(255, 255, 255)");

在JQuery

if($('#someElementId').css('background-color')=="rgb(255, 255, 255)") 

【讨论】:

    【解决方案3】:

    你可以使用:

    if($("#some-element").css('background-color')=="rgb(255, 255, 255)") 
        console.log("White color detected");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-01
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 2016-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多