首页 文章

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

提问于
浏览
703

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

jQuery和原始JavaScript都可以工作 .

13 回答

  • 13

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

    此jQuery过滤器将仅删除具有此类的输入或选择字段的类“highlightCriteria” .

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

    试试 removeClass

    For instance

    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>
    
  • 8

    我喜欢使用原生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方式

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

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

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

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


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

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

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

    document.getElementById('item').className = '';
    
  • 0
    $('#elm').removeAttr('class');
    

    不再是“榆树”中的类别 .

  • 1372

    你可以试试

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

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

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

    我在我的projet中使用该函数来删除和添加html构建器中的类 . 祝好运 .

  • -1

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

    这是我删除aspNetDisabled类的代码:

    $(document).ready(function () {
    
        $("span").removeClass("aspNetDisabled");
        $("select").removeClass("aspNetDisabled");
        $("input").removeClass("aspNetDisabled");
    
    });
    
  • 4

    当然 .

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

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

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

    将自己做...

  • 3

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

    删除特定类

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

    假设元素有class =“class another-class”

  • 8

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

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

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

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

    最短的方法

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

    由于并非所有版本的jQuery都是相同的,所以你可能会遇到同样的问题,即调用$(“#item”) . removeClass();实际上并没有删除该类 . (可能是个bug)

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

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

相关问题