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

jQuery和原始JavaScript都可以工作。


当前回答

由于并非所有版本的jQuery都是相同的,因此您可能会遇到与我相同的问题,这意味着调用$(“#item”).removeClass();实际上并没有删除该类(可能是一个bug)。

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

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

其他回答

等等,如果没有指定特定的类,removeClass()是否默认删除所有类?所以

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

会自己做。。。

您可以尝试:

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

如果您必须在没有类名的情况下访问该元素,例如,您必须添加一个新类名,则可以执行以下操作:

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

我在项目中使用该函数在HTML生成器中删除和添加类。

尝试使用removeClass。

例如:

var nameClass=document.getElementsByClassName(“classe1”);console.log(“after”,nameClass[0]);$(“.classe1”).removeClass();var nameClass=document.getElementsByClassName(“classe1”);console.log(“之前”,nameClass[0]);<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js“></script><div class=“clase1”>我是一名div,class=“classe1”</div>

我也有类似的问题。在我的例子中,在禁用的元素上应用了aspNetDisabled类,所有禁用的控件都有错误的颜色。所以,我使用jQuery删除了我想要的每个元素/控件上的这个类,现在一切都正常了,看起来很好。

这是我删除aspNetDisabled类的代码:

$(document).ready(function () {

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

});

最短的方法

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