Дополнительно
Как удалить стиль, добавленный с помощью функции .css()?
Я изменяю CSS с помощью jQuery и хочу удалить стилизацию, которую я добавляю на основе вводимого значения:
if(color != '000000') $("body").css("background-color", color); else // remove style ?
Как я могу это сделать? Обратите внимание, что строка выше выполняется всякий раз, когда цвет выбирается с помощью цветомера (т.е. когда мышь перемещается по цветовому колесу).
Второе замечание: я не могу сделать это с помощью css("background-color", "none")
, потому что это удалит стилизацию по умолчанию из файлов css. Я просто хочу удалить встроенный стиль background-color
, добавленный jQuery.
838
18
Замена свойства на пустую строку, похоже, помогает:
Принятый ответ работает, но оставляет пустой атрибут
style
в DOM в моих тестах. Ничего страшного, но это удаляет его полностью:Это предполагает, что вы хотите удалить все динамические стили и вернуться к стилю таблицы стилей.
Есть несколько способов, чтобы удалить свойство CSS с помощью jQuery:
1. Установка свойства CSS по умолчанию (начальное) значение
Смотрите начальное значение для свойства CSS в МДН. Здесь значение по умолчанию - "прозрачный". Вы также можете использовать
наследовать
для нескольких свойств CSS, наследовать свойства от своего родителя. В CSS3/CSS4, вы можете также использоватьначальных
,вернуться
илиотключено
но эти слова могут иметь ограниченную поддержку браузера.2. Удаление свойства CSS
Пустая строка удаляет свойство CSS, т. е.
Но будьте осторожны, как указано в в jQuery .в CSS() документация, при этом удаляется имущества, но он имеет проблемы совместимости с IE8 для определенных свойств CSS стенографии, в том числе фон.
3. Убрав весь стиль элемента
Я получил способ удаления атрибута стиля с помощью чистого JavaScript, просто чтобы вы знали способ чистого JavaScript
Это позволит удалить полный тег :
либо эти функции jQuery должен работать:
ТОЛЬКО используя:
или
Как насчет что-то вроде:
Попробуйте это:
Спасибо
Используйте мой плагин :
В вашем случае ,использовать его как следующие :
или
если вы хотите удалить также CSS, определенные в его классах :
Если вы используйте CSS стиль, вы можете использовать:
а потом заменить на:
Если вы Don'т использовать стиль CSS и у вас есть атрибут в HTML-элемент, вы можете использовать:
Две тысячи восемнадцать
есть собственный API для этого
Почему бы не сделать стиль, который вы хотите удалить класс CSS? Теперь вы можете использовать:
.removeClass()
. Это также открывает возможность использования:.toggleClass()
(удалить класс, если он'ы присутствуют, и добавить его, если это's не.)
Добавление / удаление класса тоже менее запутанной, чтобы изменить / устранить при решении вопросов компоновки (в отличие от попыток выяснить, почему определенный стиль исчез.)
Это тоже работа!!
Попробуйте Это
Это сложнее, чем некоторые другие решения, но могут предложить большую гибкость в сценарии:
Пример использования: http://jsfiddle.net/qvkwhtow/
Предостережения:
Изолируя стиль таким образом то, что CSS-это все о, Даже если манипулирование это'т. Манипулируя правила CSS не то, что jQuery-это все о jQuery и манипулирует DOM-элементов, и использует CSS-селекторы, чтобы сделать это.
Простая дешевая в веб-разработке. Я рекомендую использовать пустую строку при удалении определенного стиля