如何解决Javascript的“ document.querySelectorstyle.backgroundColor”将HEX转换为RGB是否有原因?
这是我的第一个问题,请保持温柔。我刚刚在Safari,Chrome和Firefox的控制台中注意到,以下脚本中的颜色值始终返回RGB值而不是十六进制值。并不是说这会阻止代码正常工作,否则我只是想知道控制台为什么不返回发送的十六进制值? Javascript是否总是将颜色值转换为RGB?它是超越其他范式的头等公民吗?
function randomHEX() {
var HEXvalues = [0,1,2,3,4,5,6,7,8,9,"A","B","C","D","E","F"];
var newHEX = "#";
for (i = 0; i < 6; i++) {
var nextIndex = Math.floor(Math.random() * HEXvalues.length); // grab a random value from the array
newHEX += HEXvalues[nextIndex]; // increment values to newHEX
}
document.querySelector("#hexName").textContent = newHEX; // use newHEX to fill text of ID hexName
document.querySelector(".container").style.backgroundColor = newHEX; // use newHEX to change background color of Box
}
任何信息将不胜感激。
非常感谢。
PS
谢谢那些回答。我的问题是为什么 RGB? 为什么不默认为其收到的十六进制数字? 为什么 Javascript使用.style.backgroundColor将十六进制值转换为RGB值吗?
再次感谢。
解决方法
默认情况下是,它显示为RGB。要将其转换为十六进制,已经在这里link
进行了回答。 ,这不是您的问题。您的函数可以正确设置十六进制值。您可以通过在函数末尾添加console.log(newHEX)
进行检查。
element.style.color = HEX_string
,它将转换为RGB值。
如果您需要将其转换回-选中this question。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。