以十六进制设置背景颜色

时间:2012-12-04 21:58:40

标签: javascript

如何在JavaScript中将元素背景颜色设置为十六进制值? backgroundColor方法仅在rgb中设置。

square.style.backgroundColor = input_color; input_color是#123456,但在源集rgb(18, 52, 86)

4 个答案:

答案 0 :(得分:1)

更好地解决您的问题只是设置背景颜色

square.style.backgroundColor = "rgb(12,34,56)";

否则我会使用Sheika的例子

答案 1 :(得分:0)

如果您想获得rgb格式的元素的颜色,那么您可以将其从rgb转换为hex格式

function rgbToHex(col)
{
    if(col.charAt(0)=='r')
    {
        col=col.replace('rgb(','').replace(')','').split(',');
        var r=parseInt(col[0], 10).toString(16);
        var g=parseInt(col[1], 10).toString(16);
        var b=parseInt(col[2], 10).toString(16);
        r=r.length==1?'0'+r:r; g=g.length==1?'0'+g:g; b=b.length==1?'0'+b:b;
        var colHex='#'+r+g+b;
        return colHex;
    }
}

调用函数

var col=document.getElementById('myDiv').style.backgroundColor;
alert(rgbToHex(col)); // alerts hex value

Here is an example

答案 2 :(得分:0)

找到了应该起作用的东西

document.getElementById('square').attributes['style'].textContent='background-color:'+ input_color 

答案 3 :(得分:-2)

如果您想要十六进制,可以将其设置为字符串,例如“#123456”,或者您可以使用十六进制数字rgb (0x12, 0x34, 0x56)。这会回答你的问题吗?