Javascript 如何将rgb值转换为常规css颜色值?
我正在尝试比较页面上元素的样式。但有一个元素会动态地将其文本颜色更改为红色,但表示为rgb值。另一个元素(与之比较)使用#123456个值。是否有一个转换器可以将rgb转换成数字 例如: #000而不是rgb(0,0,0) 编辑。承蒙Javascript 如何将rgb值转换为常规css颜色值?,javascript,rgb,Javascript,Rgb,我正在尝试比较页面上元素的样式。但有一个元素会动态地将其文本颜色更改为红色,但表示为rgb值。另一个元素(与之比较)使用#123456个值。是否有一个转换器可以将rgb转换成数字 例如: #000而不是rgb(0,0,0) 编辑。承蒙 编辑。承蒙人们总是忘记rgb颜色可以表示为百分比和整数 function rgbToHex(rgb){ var i= 0, c, hex= '#', rgb= String(rgb).match(/\d+(\.\d+)?%?/g); whi
编辑。承蒙人们总是忘记rgb颜色可以表示为百分比和整数
function rgbToHex(rgb){
var i= 0, c, hex= '#',
rgb= String(rgb).match(/\d+(\.\d+)?%?/g);
while(i<3){
c= rgb[i++];
if(c.indexOf('%')!= -1){
c= Math.round(parseFloat(c)*2.55);
}
c= (+c).toString(16);
if(c.length== 1) c= '0'+c;
hex+= c;
}
return hex;
}
alert(rgbtohex('rgb(255,127,0)')+'\n'+
rgbtohex('rgb(100%,50%,0)'));
/* returned value:
#ff7f00
#ff7f00
*/
功能rgbToHex(rgb){
变量i=0,c,十六进制='#',
rgb=字符串(rgb).match(/\d+(\.\d+)?%?/g);
然而(i人们总是忘记rgb颜色可以表示为百分比,也可以表示为整数
function rgbToHex(rgb){
var i= 0, c, hex= '#',
rgb= String(rgb).match(/\d+(\.\d+)?%?/g);
while(i<3){
c= rgb[i++];
if(c.indexOf('%')!= -1){
c= Math.round(parseFloat(c)*2.55);
}
c= (+c).toString(16);
if(c.length== 1) c= '0'+c;
hex+= c;
}
return hex;
}
alert(rgbtohex('rgb(255,127,0)')+'\n'+
rgbtohex('rgb(100%,50%,0)'));
/* returned value:
#ff7f00
#ff7f00
*/
功能rgbToHex(rgb){
变量i=0,c,十六进制='#',
rgb=字符串(rgb).match(/\d+(\.\d+)?%?/g);
while(iSorry)我的意思是数字不是原来的数字。OP可能意味着rgb(#,#,#,#)vs.0xRRGGBB你能显示你的预期输入/输出吗?对不起,我的意思是数字不是原来的数字。OP可能意味着rgb(#,#,#,#)vs.0xRRGGBB你能显示你的预期输入/输出吗?啊,别客气!)我唯一的建议是更改你的parseInt()
s toparseInt(“数字字符串”,10)
只是为了安全。我遇到了一个错误。alert(colorToHex('rgb(0,0,0));
返回#0
就是这样。啊,让我来吧!;)我唯一的建议是将parseInt()
s改为parseInt(“数字字符串”,10)
为了安全起见。我遇到了一个错误。警报(colorToHex('rgb(0,0,0));
返回#0
,就是这样。