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

2020/09/21 01:01 · javascript ·  · 0评论

除了可以单独调用$("#item").removeClass()一个元素可能没有的每个类之外,还有一个可以调用的函数可以从给定元素中删除所有CSS类吗?

jQuery和原始JavaScript都可以使用。

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

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


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

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

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

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

等等,如果未指定任何特定内容,removeClass()是否默认不删除所有类?所以

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

会自己做...

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

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

编辑:其他人说,只是打电话removeClass有效-我在Google JQuery Playground上进行了测试:http : //savedbythegoog.appspot.com/ ? id=ag5zYXZlZGJ5dGhlZ29vZ3ISCxIJU2F2ZWRDb2RlGIS61gEM ... 因此,您也可以这样进行:

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

当然。

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

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

删除特定的类

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

说元素是否具有class =“ class another-class”

最短的方法

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

你可以试试看

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

如果必须访问不带类名的该元素,例如必须添加新的类名,则可以执行以下操作:

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

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

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

“ elm”中将不再存在类attr。

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

一种更可靠的方法是仅使用原始JavaScript并完全删除class属性。

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

我喜欢使用本机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方式

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

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

尝试 removeClass

例如

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>

让我们使用这个例子。也许您希望您的网站用户知道某个字段有效,或者需要通过更改字段的背景色来引起注意。如果用户单击“重置”,则您的代码应仅重置具有数据的字段,而不必麻烦遍历页面上的所有其他字段。

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

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

我有类似的问题。在我的禁用元素上应用了aspNetDisabled类,并且所有禁用控件的颜色都不正确。因此,我使用jquery删除了我不会使用的每个元素/控件上的此类,并且一切正常,现在看起来很棒。

这是我删除aspNetDisabled类的代码:

$(document).ready(function () {

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

}); 
本文地址:http://javascript.askforanswer.com/ruheshiyongjquery-javascriptshanchusuoyoucsslei.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!