【问题标题】:Is it possible to determine the hex value of a named color? [duplicate]是否可以确定命名颜色的十六进制值? [复制]
【发布时间】:2011-07-22 16:54:14
【问题描述】:

可能重复:
Javascript function to convert color names to hex codes

是否可以检索或计算浏览器当前用于命名颜色的十六进制值?例如,我希望能够执行以下操作:

(Html):

<div id="container" style="background-color: lightgreen"></div>

(JavaScript):

var container = document.getElementById("container");
var colorAsHex = getHexColor(container, "background-color");

充其量我希望有一个我恰好缺少的 jQuery 解决方案。最坏的情况是,只要我能涵盖 4 个主要浏览器,我就可以使用特定于浏览器的 hack。

【问题讨论】:

  • 谢谢。链接的问题似乎适用。

标签: javascript jquery css dom colors


【解决方案1】:

$('div').css('background-color') 似乎正在工作......请参阅此示例 link

【讨论】:

  • 哇,有趣。看起来(来自一个简短的测试)在 jQuery 1.4.2 中它返回“绿色”,但在 jQuery 1.4.4+ 中它返回 RGB 组件。
【解决方案2】:
var namedColor = "lightgreen";
var rgbColor = $("<div></div>").css("background-color", namedColor).css("background-color");
var match = rgbColor.match(/(\d+),\s*(\d+),\s*(\d+)/);
var value = 
    (+match[1] << 16) + 
    (+match[2] << 8) + 
    (+match[3] << 0);
var hexColor = value.toString(16);
while (hexColor.length < 6) {
    hexColor = "0" + hexColor;
}
console.log("#" + hexColor)

演示herehere

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 2021-05-20
    • 1970-01-01
    • 2011-01-02
    • 2021-10-07
    相关资源
    最近更新 更多