Как включить несколько стилей цвета с условным оператором в JavaScript - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь оптимизировать скрипт, нацеленный на несколько стилей цвета 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.Как это можно сделать наиболее просто и эффективно?

1 Ответ

0 голосов
/ 27 февраля 2019

Это, вероятно, будет неэффективно, так как он читает и пишет 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)";
        }
    });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...