首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取十六进制元素的背景颜色代码?

如何获取十六进制元素的背景颜色代码?
EN

Stack Overflow用户
提问于 2011-05-14 09:15:22
回答 8查看 139.4K关注 0票数 74

如何获取元素的背景颜色代码?

代码语言:javascript
复制
console.log($(".div").css("background-color"));
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="div" style="background-color: #f5b405"></div>

我想要什么

代码语言:javascript
复制
#f5b405
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-05-14 10:37:06

检查下面的示例链接,然后单击div以获取十六进制的颜色值。

代码语言:javascript
复制
var color = '';
$('div').click(function() {
  var x = $(this).css('backgroundColor');
  hexc(x);
  console.log(color);
})

function hexc(colorval) {
  var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
  delete(parts[0]);
  for (var i = 1; i <= 3; ++i) {
    parts[i] = parseInt(parts[i]).toString(16);
    if (parts[i].length == 1) parts[i] = '0' + parts[i];
  }
  color = '#' + parts.join('');
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class='div' style='background-color: #f5b405'>Click me!</div>

检查工作示例

票数 103
EN

Stack Overflow用户

发布于 2011-05-14 09:45:29

这里有一些技巧,因为在设置strokeStylefillStyle等特定属性时,HTML5画布需要解析颜色值:

代码语言:javascript
复制
var ctx = document.createElement('canvas').getContext('2d');
ctx.strokeStyle = 'rgb(64, 128, 192)';
var hexColor = ctx.strokeStyle;
票数 11
EN

Stack Overflow用户

发布于 2014-05-08 17:19:45

代码语言:javascript
复制
function getBackgroundColor($dom) {
    var bgColor = "";
    while ($dom[0].tagName.toLowerCase() != "html") {
      bgColor = $dom.css("background-color");
      if (bgColor != "rgba(0, 0, 0, 0)" && bgColor != "transparent") {
        break;
      }
      $dom = $dom.parent();
    }
    return bgColor;
  }

在Chrome和Firefox下正常工作

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5999209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档