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

时间:2019-02-27 13:09:50

标签: javascript html css html5 css3

我正在尝试优化针对多种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做同样的事情。如何最简单有效地实现这一目标?

1 个答案:

答案 0 :(得分: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)";
        }
    });