Как вы можете удалить важное свойство CSS? - PullRequest
7 голосов
/ 15 марта 2012

Если важно свойство стиля элемента (установить через style="" или JS), как его можно удалить?

removeProperty() не работает ( jsfiddle ):

elem.style.setProperty('background', '#faa', 'important');
elem.style.removeProperty('background'); // doesn't work

(желательно безрамочное решение, оно должно работать только в Chrome.)

1 Ответ

13 голосов
/ 15 марта 2012

Причина, по которой вы не можете удалить это свойство, заключается в том, что это сокращенное свойство.

При его установке добавляются другие свойства, но отсутствует свойство "background", поэтому свойство "background" отсутствуетудалить.

В этом случае вы можете сбросить его следующим образом:

elem.style.removeProperty('background-color');

В общем случае вам нужно будет сбросить каждое свойство "длинной руки", представленное свойством сокращения..


Вы также можете сделать это, чтобы перезаписать его:

elem.style.setProperty('background', 'inherit', 'important');

Или вы можете обнулить весь встроенный стиль для элемента следующим образом:

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