我已经对类似问题进行了多次回答。我只想澄清我是否理解正确。我的目的是进行一些颜色计算。
我一直在 fire fox 工作,其中:
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 中,同样的代码返回“red”和“blue”,当然计算失败。
从前面的答案来看,如果使用 $(...).css,似乎没有一致的方法以数字格式恢复颜色(无论是背景颜色还是颜色)。似乎必须跨越各种障碍才能覆盖所有基地。
那么有没有不使用 $(...).css 的方法呢?
编辑
当我应用给定的示例代码 here 时,就跟进这个在我的脚本中,我在 FF 中运行它,当我在 IE 中运行它时,我得到 rgb(255,0,0),我在结果中看到“红色”一词。 但是 当我在 IE 中运行上面的链接时,结果是 rgb(xxx,xx,xx),因此我很困惑。是否有服务器设置或其他因素导致 IE 在我提供的页面上以这种方式运行??
编辑
据我目前所知,在 IE 中,它会报告 CSS 中指定的颜色,即“绿色”、“蓝色”、“红色”或 #808080 等。而在 ff 中,它总是将其报告为RGB值。
最佳答案
我认为您将不得不求助于颜色名称字典。这类似于这个问题:Javascript function to convert color names to hex codes至少在概念上。
关于javascript - 跨浏览器确定背景颜色或数字格式的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13708069/