不是为元素可能具有的每个类单独调用$(“#item”).removeClass(),而是可以调用一个函数来从给定元素中删除所有CSS类吗?
jQuery和原始JavaScript都可以工作。
不是为元素可能具有的每个类单独调用$(“#item”).removeClass(),而是可以调用一个函数来从给定元素中删除所有CSS类吗?
jQuery和原始JavaScript都可以工作。
当前回答
我也有类似的问题。在我的例子中,在禁用的元素上应用了aspNetDisabled类,所有禁用的控件都有错误的颜色。所以,我使用jQuery删除了我想要的每个元素/控件上的这个类,现在一切都正常了,看起来很好。
这是我删除aspNetDisabled类的代码:
$(document).ready(function () {
$("span").removeClass("aspNetDisabled");
$("select").removeClass("aspNetDisabled");
$("input").removeClass("aspNetDisabled");
});
其他回答
不管你信不信,我喜欢使用原生JavaScript来实现这一点!
解决方案1:className
删除所有项目的所有类别
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}
仅删除第一项的所有类
const item1 = document.querySelector('item');
item1.className = '';
解决方案2:classList
// remove all class of all items
const items = [...document.querySelectorAll('.item')];
for (const item of items) {
item.classList.value = '';
}
// remove all class of the first item
const items = [...document.querySelectorAll('.item')];
for (const [i, item] of items.entries()) {
if(i === 0) {
item.classList.value = '';
}
}
// or
const item = document.querySelector('.item');
item.classList.value = '';
jQuery方式(不推荐)
$(“#item”).removeClass();$(“#item”).removeClass(“class1…classn”);
refs
https://developer.mozilla.org/en-US/docs/Web/API/Element/className
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
尝试使用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>
最短的方法
$('#item').removeAttr('class').attr('class', '');
$('#elm').removeAttr('class');
属性“class”将不再出现在“elm”中。
等等,如果没有指定特定的类,removeClass()是否默认删除所有类?所以
$("#item").removeClass();
会自己做。。。