jQuery - 删除所有匹配的类

时间:2013-07-17 05:40:08

标签: jquery

我正在尝试删除所有运行each()函数的匹配类。

我选择匹配的类[class*="ui-id-"]。但我的下面的jquery代码不起作用:

我的错误代码:

jQuery('#builder [class*="ui-id-"]').each(function(){
    jQuery(this).removeClass('[class*="ui-id-"]');
});

请更正我的代码,以便删除所有匹配的课程ui-id-

5 个答案:

答案 0 :(得分:3)

以这种方式尝试:

$('#builder [class*="ui-id-"]').removeClass(function(i, j) {
           return j.match(/ui-id-/g).join(" ");
});

应删除所有匹配的类。

答案 1 :(得分:2)

不幸的是,最简单的方法是迭代所有元素:

jQuery('#builder').find('*').each(function() {
    var classes = this.className.split(/\s+/);

    $.each(classes, function(i, c) {
        if (c.indexOf('ui-id-') === 0) {
            $(this).removeClass(c);
        }
    }
});

答案 2 :(得分:1)

这里不需要每个循环

试试这个

 jQuery('[class*="ui-id-"]').removeClass('[class*="ui-id-"]');

我删除了#builder,如果您发布相关的html代码,也很容易找到正确的答案

答案 3 :(得分:1)

jQuery("#builder [class^='ui-id-']").removeClass();

这将删除所有以ui-id-

中的#builder开头的课程

答案 4 :(得分:0)

试试这个:

jQuery('.ui-id-').removeClass('ui-id-');