Как удалить все классы CSS с помощью jQuery?

вместо индивидуального вызова $("#item").removeClass() для каждого отдельного класса, который может иметь элемент, есть ли одна функция, которая может быть вызвана, которая удаляет все классы CSS из данного элемента?

будут работать как jQuery, так и raw JavaScript.

12 ответов


$("#item").removeClass();

вызов removeClass без параметров удалит все классы элемента.


вы также можете использовать (но не обязательно рекомендуется, тег правильно путь выше):

$("#item").removeAttr('class');
$("#item").attr('class', '');
$('#item')[0].className = '';

если бы у вас не было jQuery, то это было бы в значительной степени вашим единственным вариантом:

document.getElementById('item').className = '';

Hang on, не removeClass () по умолчанию удаляет все классы, если ничего конкретного не указано? Так что

$("#item").removeClass();

сделает это самостоятельно...


просто установить className атрибут реального элемента DOM в '' (ничего).

$('#item')[0].className = ''; // the real DOM element is at [0]

Edit: другие люди сказали, что просто позвонил removeClass работает - я проверил это с помощью Google jQuery Playground: http://savedbythegoog.appspot.com/?id=ag5zYXZlZGJ5dGhlZ29vZ3ISCxIJU2F2ZWRDb2RlGIS61gEM ... и это работает. Таким образом, вы также можете сделать это следующим образом:

$("#item").removeClass();

конечно.

$('#item')[0].className = '';
// or
document.getElementById('item').className = '';

самый короткий способ

$('#item').removeAttr('class').attr('class', '');

Хех, пришел в поисках аналогичного ответа. И тут меня осенило.

Удалить Определенные Классы

$('.class').removeClass('class');

скажем, если элемент имеет class= "class another-class"


$('#elm').removeAttr('class');

больше не класс attr будет присутствовать в"Вязе".


мне нравится использовать native js, верьте или нет!

1.

// remove all items all class  
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
    items[i].className = '';
}

2.

// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';

jQuery и способы

  1. $("#item").removeClass();

  2. $("#item").removeClass("class1 ... classn");


поскольку не все версии jQuery созданы равными, вы можете столкнуться с той же проблемой, что и я, что означает вызов $("#item").removeClass (); фактически не удаляет класс. (Вероятно, ошибка)

более надежный метод-просто использовать необработанный JavaScript и полностью удалить атрибут класса.

document.getElementById("item").removeAttribute("class");

попробовать removeClass

например:

var nameClass=document.getElementsByClassName("clase1");
console.log("after", nameClass[0]);
$(".clase1").removeClass();
var nameClass=document.getElementsByClassName("clase1");
console.log("before", nameClass[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="clase1">I am Div with class="clase1"</div>

Вы можете просто попробовать

$(document).ready(function() {
   $('body').find('#item').removeClass();
});

Если у вас есть доступ к этому элементу без имени класса, например, у вас есть, чтобы добавить новое имя класса, вы можете сделать это:

$(document).ready(function() {
   $('body').find('#item').removeClass().addClass('class-name');
});

Я использую эту функцию в своем проекте для удаления и добавления класса в HTML-конструктор. Удача.


У меня была аналогичная проблема. В моем случае на отключенных элементах было применено, что класс aspNetDisabled и все отключенные элементы управления имели неправильные цвета. Итак, я использовал jquery для удаления этого класса на каждом элементе / элементе управления, который я не буду, и все работает и отлично выглядит сейчас.

Это мой код для удаления класса aspNetDisabled:

$(document).ready(function () {

    $("span").removeClass("aspNetDisabled");
    $("select").removeClass("aspNetDisabled");
    $("input").removeClass("aspNetDisabled");

});