如何检查CSS背景颜色是否为白色?

我需要这个:

$('*').each(function() { if($(this).css("background-color") == "#ffffff") { $(this).css("background-color") == "#000000" } });​​​​ 

一个class级的工作。

即使它是正确的(它不是),它也是不可靠的并且不太可行。 原因是有几种显示白色的方法:

  • white
  • #ffffff及其所有64种情况组合
  • #fff及其所有8种情况组合
  • rgb(255,255,255)和值之间任意空格的所有∞组合
  • rgba(255,255,255,1)和值之间任意空格的所有∞组合

你可以这样检查:

 if( $(this).css("background-color").match(/^(?:white|#fff(?:fff)?|rgba?\(\s*255\s*,\s*255\s*,\s*255\s*(?:,\s*1\s*)?\))$/i)) this.style.backgroundColor = "#000";