javascript - 在 JSColor 中,如何获取颜色的十六进制?

标签 javascript jquery css jscolor

使用JSColor,用户选择颜色后,如何获取“十六进制”?

$("input#colorpicker").css('background-color') => this returns background-color: rgb(107, 132, 255);

但不是十六进制。

最佳答案

我假设 jQuery.css 返回设置的值。 尝试使用以下函数将 RGB 转换为 HEX:

function colorToHex(color) {
    if (color.substr(0, 1) === '#') {
        return color;
    }
    var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color);

    var red = parseInt(digits[2]);
    var green = parseInt(digits[3]);
    var blue = parseInt(digits[4]);

    var rgb = blue | (green << 8) | (red << 16);
    return digits[1] + '#' + rgb.toString(16);
};

colorToHex('rgb(120, 120, 240)')

关于javascript - 在 JSColor 中,如何获取颜色的十六进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8868404/

相关文章:

javascript - 仅检测视口(viewport) jQuery 中的元素

javascript - 使用 jQuery 在单击时复制特定结构

javascript - 单击一个更新按钮保存所有文本字段

javascript - jQuery - 在 ajax 成功加载新数据之前清除 HTML 表

javascript - 无论如何都会出现具有 "display: none"样式的 Div

javascript - 为什么当我选择日期(使用 HTML5 日期)时,Javascript 显示的日期与日期选择器中的日期不同?

javascript - 更新传单中的标记

javascript - 从 javascript/jquery 创建 Flash 消息

html - 如何设置内容高度填充?

html - 如何从 Accordion 图案中删除底部边框?