javascript - 如何使用 JS 将十六进制代码添加到 HTML 元素(内联样式)

标签 javascript html css

我有一个简单的类,它接收一个元素,找到它的 RGB 颜色,然后将它转换为 HEX。这有效但是当我将它添加到元素时它不起作用像这样:

import * as colorConvert from "color-convert"; // a package to convert RGB to hex
export default class Darken {
  constructor(element) {
    this.element = element;
  }

  hex() {
    const rgb = window.getComputedStyle(this.element).color;
    const exp = /\(([^)]+)\)/;
    const matches = exp.exec(rgb);
    const rgbCode = matches[1];

    const [r, g, b] = rgbCode.split(", ");

    return colorConvert.rgb.hex(r, g, b);
  }

  changeTheStylesheet() {
    const newColor = `#${this.hex()}`; // This gives me the hex code that I want #010300
    console.log(newColor); // It's as I want it in the console

    this.element.style.color = newColor; // But here it gets shown in RGB rgb(1, 3, 0)
  }
}

我想使用十六进制代码而不是 RGB。 谢谢。

最佳答案

这是因为 style 属性只能返回 RGB 格式的颜色代码。

关于javascript - 如何使用 JS 将十六进制代码添加到 HTML 元素(内联样式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59008450/

相关文章:

php - 使用 PHP(XPath)、PHP/Python(Regex) 或 Python(XPath) 从 html 中提取信息

javascript - 在 TextArea HTML 中作为标题标签

javascript - 使用 jQuery 选择特定的 contenteditable div

javascript - 始终选择第一个值选择 vue.js

javascript - 如何在 GraphQL 中使用变异方法在模型中创建关系?

javascript - 如何更改 nvd3 图中图例的宽度

css - 在没有 Compass 混入的情况下将 SCSS 转换为 SCSS

javascript - 无法替换 Javascript 中基于数组的字符串部分

html - CSS3 下拉菜单悬停不同大小

html - 抓取 CSS 以批量检查响应能力