Удаление встроенного CSS влияет на стили, определенные в таблице стилей - PullRequest
0 голосов
/ 14 апреля 2020

У меня странное поведение.

У меня есть скрипт, который применяет inline CSS к элементам из его таблицы стилей с помощью метода computedStyle.

Это способ скопировать форматированный текст вместо обычный текст .

Но после копирования мне нужно удалить атрибут style="".

Когда это происходит, некоторые атрибуты стиля (например, color, исчезают), в то время как я вижу в инспекторе, что этот атрибут все еще связан с моим элементом с помощью class.

См. Там : https://jsfiddle.net/sxybrcug/ (color исчезает, но border-color в порядке)

Знаете ли вы, что происходит?

Спасибо

1 Ответ

2 голосов
/ 14 апреля 2020

Похоже, что встроенные стили также добавляются в ваш container div, но при нажатии кнопки удаляются только встроенные стили в элементах <p>. Таким образом, p продолжает наследовать встроенные стили container, в частности, -webkit-text-fill-color, который имеет черный цвет, переопределяя свойство color.

Если добавить

container.setAttribute("style", "");

для прослушивателя кликов, он удаляет все встроенные стили, а цвет элементов p отображается красным.

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