javascript中的颜色平等

javascript中的颜色平等,javascript,css,colors,Javascript,Css,Colors,有没有办法检查表示颜色的两个字符串是否相等,它们是十六进制、rgb、rgba还是word格式 例如,这两个值是相等的 “红色”和“#ff0000” “红色”和“#f00” “红色”和“rgb(255,0,0)” “ff0000”和“rgba(255,0,0255)” 我想做的是,如果两个或多个元素的颜色相同,则将它们连接在一起,但有时颜色的表示方式不同 我正在检查element.style.color的字符串相等性,但后来遇到了这个问题。换一种方式我会更好吗 一个附带的问题,只是出于好奇,是否一

有没有办法检查表示颜色的两个字符串是否相等,它们是十六进制、rgb、rgba还是word格式

例如,这两个值是相等的

“红色”和“#ff0000”
“红色”和“#f00”
“红色”和“rgb(255,0,0)”
“ff0000”和“rgba(255,0,0255)”

我想做的是,如果两个或多个元素的颜色相同,则将它们连接在一起,但有时颜色的表示方式不同

我正在检查element.style.color的字符串相等性,但后来遇到了这个问题。换一种方式我会更好吗

一个附带的问题,只是出于好奇,是否一个浏览器的“深蓝色”rgb值等于另一个浏览器的“深蓝色”rgb值,对于所有颜色?

您可以使用微小的颜色

您只需要传递颜色名称,它将以十六进制、rgb等格式返回颜色名称

var tiny = tinycolor(color);
var hexString=  tiny.toHexString();
var hex8String=  tiny. tiny.toHex8String();
还有其他类似的方法

tiny.toRgbString()
tiny.toHslString()
tiny.toHsvString()
tiny.toName()
tiny.getFormat()
获得所有格式后,就可以使用字符串相等进行比较。 请查看上面的演示链接

还有一种比较颜色的方法

tinycolor.equals(color1, color2) 

window.getComputedStyle(el).backgroundColor
rgb(r,g,b)
格式返回颜色

您还可以使用
jQuery.css()
来获取它


关于颜色别名:有很多,但你可能无法依赖它,我不确定IE:)

如果你使用jQuery调用.css(),你可以从中获取rgb(r,g,b)值。你也可以使用
getComputedStyle(el.backgroundColor
:)