Javascript样式对象将复杂的颜色名称转换为rgb
在将复杂CSS颜色名称应用于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
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”。如果没有人能找到一种方法来解决这个问题,我会认为这绝对是最好的解决办法。你找到解决办法了吗@奥吉加德纳