Jquery 对象以十六进制设置背景颜色

Jquery object set background color in hex

我有十六进制颜色代码但是 jquery 对象..我如何设置背景颜色?

var color = "FF00FF";

if (arr[0] == "True") { 
            $(e.container).closest('td').css('background-color', color);
        }

我尝试使用 this hextorgb 函数 returns 一个对象。我如何在我的代码中使用它?

var color = arr[1];

        var rgbColor = hexToRgb('#' + 'FF00FF');

        if (arr[0] == "True") {
            alert('setting color:'+ rgbColor);
            $(e.container).closest('td').css('background-color', 'rgb(12,3,7)');
        }

function hexToRgb(hex) {
    var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
    return result ? {
        r: parseInt(result[1], 16),
        g: parseInt(result[2], 16),
        b: parseInt(result[3], 16)
    } : null;
}

hexToRgb 方法将颜色拆分为单独的通道。因此,结果您将在对象中拥有三个通道。

var result = {
    r: "128",
    g: "129",
    b: "2"
}

在此之后您可以形成格式为 `rgb(${result[0]}, ${result[1], ${result[2]})` 的新字符串,可以直接将其设置为 DOM 元素的背景颜色。

此外,因为您有来自不同通道的颜色,您可以修改它们以构建新的颜色字符串。

但是如果已经有十六进制颜色,不清楚为什么需要这样的转换。