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

jQuery和原始JavaScript都可以工作。


当前回答

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

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


您也可以使用(但不一定建议使用。正确的方法是上面的方法):

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

如果您没有jQuery,那么这几乎是您唯一的选择:

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

其他回答

您可以尝试:

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

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

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

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

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

属性“class”将不再出现在“elm”中。

尝试使用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>

让我们用这个例子。也许你想让网站的用户知道某个字段是有效的,或者需要通过更改字段的背景色来关注它。如果用户点击重置,那么代码应该只重置包含数据的字段,而不必在页面上的其他字段中循环。

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

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

最短的方法

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