Изменять атрибуты CSSStyleSheet без удаления и вставки - PullRequest
0 голосов
/ 04 августа 2020

Я хочу изменить правило css, записанное в файле, например это:

.myClass {
  color: #fff;
  border-bottom: 0 solid rgba(0, 0, 0, 0)
}

Теперь я хочу изменить только атрибут border-bottom. Я нашел документацию CSSStylesheet: https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet Однако есть только 2 метода: deleteRule и insertRule. Можно ли каким-то образом изменить только один атрибут? Это мой текущий код того, как я изменяю файл CSS:

var customCSSFile = $('link[href="custom-dashboard-theme.css"]')[0].sheet; // get CSS file
var classes = customCSSFile.cssRules;
function getIndex(selectorName) {
    for (var x = 0; x < classes.length; x++) {        
        if (classes[x].selectorText == selectorName) {
            return x;
        }         
    }
}

customCSSFile.deleteRule(getIndex(".myClass"));
customCSSFile.insertRule('.myClass {color: #fff;border-bottom: 1px solid rgba(0, 0, 0, 0)}');
    

Однако с правилами CSS с множеством атрибутов это кажется очень глупым способом. Есть ли более простой способ просто изменить один атрибут?

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