javascript - 如何在 JavaScript 中使用条件语句包含多种颜色样式

标签 javascript html css

我正在尝试优化针对多种 rgb 颜色样式的脚本。它看起来像这样:

var divs = document.querySelectorAll('div[style^="color"]');
[].forEach.call(divs, function(div) {
    if(div.style.color.includes('rgb(215, 218, 220)')){
        div.style.color="rgb(23, 23, 24)";
    }
});

我想做与目标样式 rgb(215, 218, 220)255, 69, 0 相同的事情>113、147、255。如何最简单有效地实现这一目标?

最佳答案

这可能是低效的,因为它根据字符串匹配读取和写入 dom,但您可以使用 RegExp.prototype.test而不是 String.prototype.includes:

    var divs = document.querySelectorAll('div[style^="color"]');
    var regexp = /rgb\(215, 218, 220\)|rgb\(255, 69, 0\)|rgb\(113, 147, 255\)/;
    [].forEach.call(divs, function(div) {
        if(regexp.test(div.style.color)){
            div.style.color="rgb(23, 23, 24)";
        }
    });

关于javascript - 如何在 JavaScript 中使用条件语句包含多种颜色样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54906276/

相关文章:

html - CSS 填充和边距不起作用?

html - 将 html TD 宽度设置为字符数

html - 当表格宽度改变时使用平滑过渡

javascript - 模糊除 div 之外的 BODY 元素

javascript - 使用javascript翻转SVG对象

javascript - 关于一段事件循环代码的随机结果

javascript - 使用javascript访问外部css的内容

javascript - 如何在 React 中解压字符串

javascript - 使用 fabric.js 修改 Canvas 而不删除现有内容

html - 有人可以解释如何安装 SoundManager2