如何获取十六进制元素的背景颜色代码?
如何获取元素的背景颜色代码?
console.log($(".div").css("background-color"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="div" style="background-color: #f5b405"></div>
我想要什么
#f5b405
How do I get the background color code of an element?
console.log($(".div").css("background-color"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="div" style="background-color: #f5b405"></div>
What I want
#f5b405
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
检查下面的示例链接并单击 div 以获取十六进制颜色值。
查看工作示例http://jsfiddle.net/DCaQb/
Check example link below and click on the div to get the color value in hex.
Check working example at http://jsfiddle.net/DCaQb/
对此有一些技巧,因为当设置某些属性(如
StrokeStyle
和fillStyle
)时,需要 HTML5 画布来解析颜色值:There's a bit of a hack for this, since the HTML5 canvas is required to parse color values when certain properties like
strokeStyle
andfillStyle
are set:在 Chrome 和 Firefox 下正常工作
working properly under Chrome and Firefox
您拥有所需的颜色,只需将其转换为您想要的格式即可。
这是一个应该可以解决问题的脚本: http://www.phpied.com /rgb-color-parser-in-javascript/
You have the color you just need to convert it into the format you want.
Here's a script that should do the trick: http://www.phpied.com/rgb-color-parser-in-javascript/
事实上,如果某个元素下没有定义
background-color
,Chrome 会将其background-color
输出为rgba(0, 0, 0, 0 )
,而 Firefox 输出是透明
。In fact, if there is no definition of
background-color
under some element, Chrome will output itsbackground-color
asrgba(0, 0, 0, 0)
, while Firefox outputs istransparent
.我漂亮的非标准解决方案
HTML
jQuery
Result
My beautiful non-standard solution
HTML
jQuery
Result
添加@Newred 解决方案。
如果您的样式不仅仅有
background-color
,您可以使用以下内容:Adding on @Newred solution.
If your style has more than just the
background-color
you can use this:该解决方案利用了 @Newred 和 @Radu Dişă 所说的部分内容。但在不太标准的情况下会起作用。
它们都存在的问题是,都不检查背景颜色:和颜色之间的空格。
所有这些都将与上面的代码匹配。
This Solution utilizes part of what @Newred and @Radu Diță said. But will work in less standard cases.
The issue both of them have is that neither check for a space between background-color: and the color.
All of these will match with the above code.