Есть много случаев, особенно когда контент становится более интерактивным, когда разработчик хочет, чтобы стили динамически включались в зависимости от пользовательского ввода, некоторый код выполнялся в фоновом режиме и многое другое. В таких сценариях модель CSS, включающая правила стиля или встроенные стили, не помогает.
Решение для преодоления всех этих проблем — это использование JavaScript / jQuery. Это не только позволяет стилизовать элементы, с которыми взаимодействуют пользователи, что более важно, но также позволяет разработчикам стилизовать элементы по всей странице. Эта свобода очень мощна и выходит далеко за рамки ограниченной способности CSS стилизовать контент внутри себя.
- JavaScript:
- removeAttribute () : удаляет атрибут с указанным именем из элемента.
- setAttribute () : устанавливает значение атрибута для указанного элемента.
Пример 1: Пример ниже показывает, как устанавливать / удалять стили в JavaScript.
Материал из JQuery
Удаляет свойство propName у выбранных элементов на странице.
Замечание: используйте этот метод для удаления искусственно введенных свойств, не стоит удалять нативные свойства элементов (т.е. первоначальные, родные свойства элементов), это может вызвать ошибки работы браузера. В частности, не используйте .removeProp() для удаления таких атрибутов как checked и disabled. Когда эти атрибуты отсутствуют в input-элементах, их одноименные свойства не перестают существовать, они просто принимают значение false. Таким образом, для отключения этих свойств необходимо устанавливать из в false с помощью .prop().
Пример использования
Зададим p-элементу новое свойство secretCode, после чего удалим его и выведем результат наших действий в окно браузера:
258349 просмотра
8 ответа
918 Репутация автора
Я пытаюсь удалить два свойства CSS, которые я добавил, но, кажется, не работает. Любой хоть?
Ответы (8)
20 плюса
19389 Репутация автора
Либо вы можете установить свойства обратно пустыми:
Или вы можете изменить код для использования классов, определенных в файле CSS:
Автор: Jivings Размещён: 23.02.2012 01:08
278 плюса
5253 Репутация автора
Вы можете удалить их:
Автор: Nevin Размещён: 23.02.2012 01:09
67 плюса
65396 Репутация автора
Вы также можете использовать .css() для удаления свойства css, например так:
Как упомянуто в документации jquery:
Установка значения свойства стиля в пустую строку — например, $ (‘# mydiv’). Css (‘color’, ») — удаляет это свойство из элемента, если оно уже было применено напрямую,
23 плюса
529 Репутация автора
Чтобы удалить встроенное свойство CSS, используйте:
Чтобы удалить весь встроенный стиль элемента, используйте:
Я также нашел это предложение удалить свойство CSS из использования стилей (отдельный файл):
НО я не мог заставить это работать вообще, поэтому я помещаю это здесь только к вашему сведению.
Автор: 3Gee Размещён: 20.11.2013 08:31
3 плюса
39 Репутация автора
У нас есть два способа: либо вы можете напрямую удалить примененный класс стилей CSS, который применяется к элементу DOM, либо удалить примененный стиль CSS из элемента
Автор: Rajeev Размещён: 06.07.2017 07:49
1 плюс
7350 Репутация автора
Альтернативный вариант меньше идеального, но может решить различные проблемы. Добавьте новый класс к элементу со значением наследовать :
Автор: Andrew Размещён: 04.06.2018 08:53
0 плюса
11 Репутация автора
Это буквально копия вставки из этого ответа , и я использую его, чтобы очистить стиль CSS, который я добавил с помощью jQuery в ранее выполненной функции.
Чтобы удалить встроенное свойство CSS, используйте:
Чтобы удалить весь встроенный стиль элемента, используйте:
Автор: Jortega Размещён: 29.03.2019 10:47
0 плюса
1178 Репутация автора
Я понимаю, что обновление css, подобное этому, может удалить значение свойств (как уже упоминалось во многих ответах):
но если вам нужно удалить, а не обновить свойства, вы можете просто использовать removeProp, а не removeProperty :