如何使用jQuery / JavaScript删除所有CSS类?

How to remove all CSS classes using jQuery/JavaScript?

而不是为元素可能具有的每个单独单独调用$("#item").removeClass(),是否有一个可以调用的函数从给定元素中删除所有CSS类?

jQuery和原始JavaScript都可以工作。


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

不带参数调用removeClass将删除所有项目的类。

您也可以使用(但不一定推荐,正确的方法是上面的方法):

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

如果你没有jQuery,那么这将是你唯一的选择:

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


如果没有指定任何特定内容,请挂起,不删除Class()默认删除所有类?所以

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

将自己做...


只需将真实DOM元素的className属性设置为''(无)。

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

编辑:其他人说只是调用removeClass有效 - 我用Google JQuery Playground测试了这个:http://savedbythegoog.appspot.com/?id = ag5zYXZlZGJ5dGhlZ29vZ3ISCxIJU2F2ZWRDb2RlGIS61gEM ......它有效。所以你也可以这样做:

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

当然。

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

嘿,来找寻找类似的答案。
然后它打了我。

删除特定类

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

假设元素有class ="class another-class"


最短的方法

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


你可以尝试一下

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

如果您必须访问没有类名的元素,例如您必须添加新的类名,您可以这样做:

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

我在我的项目中使用该函数来删除并在html构建器中添加类。祝好运。


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

"榆树"中不再存在类别。


我喜欢使用原生js这样做,相信与否!

1。

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

2。

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

jQuery的方式

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

  • <5233>


  • 试试removeClass

    例如:

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


    由于并非所有版本的jQuery都是相同的,因此您可能会遇到我所做的相同问题,即调用$("#item")。removeClass();实际上并没有删除该类。 (可能是个bug)

    更可靠的方法是简单地使用原始JavaScript并完全删除class属性。

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


    让我们用这个例子。也许您希望您网站的用户知道某个字段是有效的,或者需要通过更改字段的背景颜色来引起注意。如果用户点击重置,那么您的代码应该只重置具有数据的字段,而不必费心遍历页面上的每个其他字段。

    This jQuery filter will remove the class"highlightCriteria" only for
    the input or select fields that have this class.

    1
    2
    3
    4
    5
    $form.find('input,select').filter(function () {
        if((!!this.value) && (!!this.name)) {
            $("#"+this.id).removeClass("highlightCriteria");
        }
    });

    我有类似的问题。在我的情况下,应用了禁用的元素,aspNetDisabled类和所有禁用的控件都有错误的颜色。所以,我使用jquery在每个元素/控件上删除这个类我不会,一切正常,现在看起来很棒。

    这是我删除aspNetDisabled类的代码:

    1
    2
    3
    4
    5
    6
    7
    $(document).ready(function () {

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

    });