我有十六进制颜色代码但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;
}
答案 0 :(得分:1)
此hexToRgb
方法将颜色分成不同的通道。因此,结果你会在对象中有三个chanel。
var result = {
r: "128",
g: "129",
b: "2"
}
在此之后,你可以形成格式`rgb(${result[0]}, ${result[1], ${result[2]})`
的新字符串,可以直接设置为DOM元素的背景颜色。
此外,由于你有来自不同频道的颜色,你可以修改它们,然后再添加一个新的颜色字符串。
但如果已经有六角形颜色,则不清楚为什么需要这样的转换。