Javascript样式对象将复杂的颜色名称转换为rgb

Javascript样式对象将复杂的颜色名称转换为rgb,javascript,css,rgb,Javascript,Css,Rgb,在将复杂CSS颜色名称应用于document.getElementById(xxx).style对象中的DOM元素时,是否有方法重写javascript如何将复杂CSS颜色名称转换为rgb值 例如:设置document.getElementById(“colorMe”).style.background=“lightblue”将设置“DOMElement.style对象的背景=“rgb(…)” 但是,设置document.getElementById(“colorMe”).style.backg

在将复杂CSS颜色名称应用于
document.getElementById(xxx).style
对象中的DOM元素时,是否有方法重写javascript如何将复杂CSS颜色名称转换为rgb值

例如:设置
document.getElementById(“colorMe”).style.background=“lightblue”
将设置
“DOMElement.style
对象的背景=
“rgb(…)”

但是,设置
document.getElementById(“colorMe”).style.background
=“blue”将设置
带有
background=“blue”
的“doElement.style”对象

我希望第二个版本适用于所有颜色名称的情况,而不仅仅是简单的颜色名称

我想绕过javascript如何将该颜色转换为复杂颜色名的RGB值。这可能吗


编辑:我知道有很多方法可以来回转换,我只是想绕过javascript似乎是如何“为我”转换它们的。。。我希望它保持为“浅蓝色”,而浏览器似乎可以很好地处理浅蓝色作为背景色

您可以使用
setAttribute

element.setAttribute('style', 'background-color: lightblue');
要保留现有的内联样式,请执行以下操作:

var box = document.getElementById("box"),
    old_style = box.getAttribute('style');

box.setAttribute('style', old_style + ' background-color: lightblue;');


请注意,内联
背景色是“浅蓝色”而不是“rgb(173216230)。

为什么不先使用rgb呢?或者十六进制代码?正如Alien所说,选择文本是没有意义的,因为不是所有的颜色都用它们的名称来表示,但是你可以用十六进制或rgb来表示任何颜色()我知道我可以来回转换,我只想保留颜色名称。我可以通过javascript将伪
div
设置为
background:string
来检查颜色名称是否有效,然后检查该设置对任何字符串是否成功。它适用于blue,但对于lightblue,javascript首先将其转换为rgb。我只是想知道是否有可能不让它这样做,而不是什么是最合理的。我很感激。虽然这是可行的,但我更想知道的是,当我使用
style.background=lightblue
方法设置javascript时,“是否可能”覆盖javascript如何使用复杂的颜色并实际转换它。我很难相信这是不可能的,因为
style.background=blue
将其保留为“blue”。如果没有人能找到一种方法来解决这个问题,我会认为这绝对是最好的解决办法。你找到解决办法了吗@奥吉加德纳