2

我已经通过一些类似问题的回答。我只想澄清我是否理解正确。我的目的是做一些颜色计算。

我一直在火狐工作:

var bkg_Colour = $("#test_Box_1").css("background-color");  // is red
var fgd_Colour = $("#test_Box_2").css("background-color");  // is blue

分别返回 rgb(255, 0, 0) 和 rgb(0, 0, 255)。

这很好,我已经通过拆分元组并比较它们来适当地计算前景和背景之间的距离。

但:

在 Internet Explorer 中,同样的代码返回“红色”和“蓝色”,当然计算会失败。

从前面的答案看来,如果使用 $(...).css,则似乎没有一致的方法可以以数字格式恢复颜色(无论是背景颜色还是颜色)。而且似乎必须跳过各种箍才能覆盖所有基地。

那么有没有办法在不使用 $(...).css 的情况下做到这一点?

编辑

当我在我的脚本中应用此处给出的示例代码并在 FF 中运行它时,只需跟进这一点,当我 在 IE 中运行它时,我会得到 rgb(255,0,0),我会在结果中看到“红色”这个词。但是 当我在 IE 中运行上面的链接时,结果是 rgb(xxx,xx,xx) 我因此很困惑。是否有服务器设置或导致 IE 在我正在服务的页面上以这种方式运行的东西?

编辑

据我目前在 IE 中可以看出,它会报告 css 中指定的颜色,即“绿色”“蓝色”“红色”或 #808080 等,而在 ff 中它总是将其报告为 rgb 值。

4

1 回答 1

0

我认为您将不得不求助于颜色名称字典。这类似于这个问题:Javascript function to convert color names to hex codes at least in concept.

于 2012-12-04T19:14:39.540 回答