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

问题描述 投票:3回答:1

我正在尝试优化一个针对多种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, 0113, 147, 255做同样的事情。如何才能最简单有效地完成?

javascript html css html5 css3
1个回答
3
投票

这可能是低效的,因为它根据字符串匹配读取和写入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)";
        }
    });

© www.soinside.com 2019 - 2024. All rights reserved.