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

时间:2017-06-21 05:42:26

标签: jquery hex background-color

我有十六进制颜色代码但jquery对象..我可以设置背景颜色吗?

var color = "FF00FF";

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

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

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;
}

1 个答案:

答案 0 :(得分:1)

hexToRgb方法将颜色分成不同的通道。因此,结果你会在对象中有三个chanel。

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

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

此外,由于你有来自不同频道的颜色,你可以修改它们,然后再添加一个新的颜色字符串。

但如果已经有六角形颜色,则不清楚为什么需要这样的转换。