9

Как удалить стиль, добавленный с помощью функции .css()?

3

Я меняю CSS с помощью jQuery и хочу убрать стиль, который я добавляю в зависимости от значения инпута:

if(color != '000000') $("body").css("background-color", color); else // удалить стиль ?

Как это сделать?
Обратите внимание, что указанная строка выполняется каждый раз, когда выбирается цвет через пипетку (например, когда мышь перемещается по цветному кругу).

Вторая заметка: я не могу сделать это с помощью css("background-color", "none"), так как это удалит стандартное оформление из CSS файлов.
Я просто хочу удалить инлайновый стиль background-color, добавленный с помощью jQuery.

5 ответ(ов)

14

Чтобы решить проблему, можно изменить свойство на пустую строку. Это выглядит следующим образом:

$.css("background-color", "");

Этот подход позволяет сбросить цвет фона элемента и вернуть его к значению по умолчанию.

0

Чтобы удалить стиль с помощью чистого JavaScript, вы можете использовать следующий код:

var bodyStyle = document.body.style;
if (bodyStyle.removeAttribute) {
    bodyStyle.removeAttribute('background-color');
} else {
    bodyStyle.removeProperty('background-color');
}

Это решение проверяет, поддерживается ли метод removeAttribute для стиля элемента. Если да, то он используется для удаления атрибута background-color. В противном случае применяется метод removeProperty, чтобы удалить свойство стиля.

Таким образом, этот код предоставляет способ удаления стилей без использования библиотек, что может быть полезно в различных сценариях.

0

Этот код удалит все атрибуты style у тега <body>:

$("body").removeAttr("style");

После выполнения этой строки, все встроенные стили, заданные в атрибуте style тега <body>, будут удалены. Если вам нужно удалить только конкретный стиль, то лучше использовать метод css() для изменения или удаления отдельных свойств CSS.

0

Обе функции jQuery, представленные ниже, должны работать:

$("#element").removeAttr("style");
$("#element").removeAttr("background-color");

Однако важно отметить, что $("#element").removeAttr("style"); удаляет весь атрибут style у элемента, что приведет к сбросу всех инлайновых стилей. Если вы хотите удалить только определенный стиль, такой как background-color, следует использовать подход с методами CSS, например:

$("#element").css("background-color", ""); // Удаляет фон, устанавливая значение пустым

Таким образом, выбирайте метод в зависимости от ваших целей. Если нужно удалить все стили — используйте первый вариант, если только background-color — второй.

0

Вы можете использовать следующие jQuery команды для удаления встроенных стилей у элементов:

Для элементов с классом:

$('.tag-class').removeAttr('style');

Или для элемента с определённым id:

$('#tag-id').removeAttr('style');

Обе команды удалят атрибут style, тем самым убрав все встроенные CSS-стили у соответствующих элементов. Если вам нужно удалить только определённые стили, рассмотрите возможность использования метода .css() с параметрами или использования методов работы с классами, чтобы управлять стилями более избирательно.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь