删除类名称以特定文本开头

时间:2014-08-12 06:54:14

标签: jquery removeclass

我有一个html,这个类是由jquery在加载时生成的。

<div class="box-1234 mainDiv"></div>

每次在类名称中的“1234”生成不同的数字。 我应该如何使用jquery删除类以“box”开头? 注意:class =“mainDiv”需要保留在那里。

使用以下内容但它没有用。

$('[class^="box-"]').removeClass();

感谢。

3 个答案:

答案 0 :(得分:2)

如果box-xxxx总是在课程的开头,那么你可以这样做:

$('[class^="box-"]').removeClass(function(index, className) {
    return (className.match(/(^|\s)box-\S+/g) || []).join(' ');
});

答案 1 :(得分:1)

试试这个

var cl =  $('div').attr("class").split(" ");
var newcl =[];
for(var i=0;i<cl.length;i++){
    r = cl[i].search(/box-+/);
    if(r)newcl[newcl.length] = cl[i];
}
$('div').removeClass().addClass(newcl.join(" ")); 

这将获取所有类并使用box-搜索所有类的开头并从数组中删除,然后删除所有类并添加其他类;)

答案 2 :(得分:0)

使用.removeClass(function(index, css) {}) API

$('div[class*="box"]').removeClass(function (index, css) {
    return (css.match(/\bbox-\S+/g) || []).join(' ');
})

请参阅演示:jsfiddle