Javascript 存储十六进制HTML颜色作为数值转换返回不同的颜色

Javascript 存储十六进制HTML颜色作为数值转换返回不同的颜色,javascript,html,css,Javascript,Html,Css,我已经尝试过这个解决方案,但它似乎对我没有帮助。我必须将十六进制颜色存储到一个数字中,并能够成功地将其转换回十六进制颜色 我在下面放了一个工作代码 hexToNum=()=>{ 常量原始颜色=“#00FF7B”; const newStr=orignalColor.replace('#',''); document.querySelector('#num').value=parseInt(newStr,16);; } NumToHex=()=>{ const el=document.query

我已经尝试过这个解决方案,但它似乎对我没有帮助。我必须将十六进制颜色存储到一个数字中,并能够成功地将其转换回十六进制颜色

我在下面放了一个工作代码

hexToNum=()=>{
常量原始颜色=“#00FF7B”;
const newStr=orignalColor.replace('#','');
document.querySelector('#num').value=parseInt(newStr,16);;
}
NumToHex=()=>{
const el=document.querySelector('#str');
const num=el.value;
常量str1=num.toString(16);
控制台日志(str1);
el.style.borderColor='#'+str1;
el.style.backgroundColor='#'+str1;
}
.color1{
边界半径:50%;
宽度:21px;
高度:21px;
边框:3倍实心;
盒影:0 1px 1px 0 rgba(0,0,0,13);
边框颜色:#00FF7B;
背景色:#00FF7B;
}
.color2{
边界半径:50%;
宽度:21px;
高度:21px;
边框:3倍实心;
盒影:0 1px 1px 0 rgba(0,0,0,13);
}


获取数值





从数值设置颜色
正如@reporter之前注意到的,
输入
值是
字符串

因此,您必须使用
parseInt
或其他方法将其转换为
number

const num = +el.value;
然后转换为十六进制,并用
0
左键填充结果:

const str1 = num.toString(16).padStart(6, '0');
请参见下面的代码段:

hexToNum=()=>{
常量原始颜色=“#00FF7B”;
const newStr=orignalColor.replace('#','');
document.querySelector('#num').value=parseInt(newStr,16);;
}
NumToHex=()=>{
const el=document.querySelector('#str');
const num=+el.value;
常量str1=num.toString(16).padStart(6,'0');
控制台日志(str1);
常量c2=document.querySelector('.color2')
c2.style.borderColor='#'+str1;
c2.style.backgroundColor='#'+str1;
}
.color1{
边界半径:50%;
宽度:21px;
高度:21px;
边框:3倍实心;
盒影:0 1px 1px 0 rgba(0,0,0,13);
边框颜色:#00FF7B;
背景色:#00FF7B;
}
.color2{
边界半径:50%;
宽度:21px;
高度:21px;
边框:3倍实心;
盒影:0 1px 1px 0 rgba(0,0,0,13);
}


获取数值





从数值设置颜色
什么不起作用?javascript部分还是表示部分?控制台输出是否满足您的要求?@reporter当我转换为num时,我得到
65403
当我将
65403
放入第二个输入类型文本时,它返回数字,但不返回十六进制字符串控制台日志错误输出我应该得到
#00FF7B
输入字段中的返回值具有数据类型“string”。parseInt()是否有助于将数字转换为十六进制字符串?不,没有。请尝试