我有一个html,这个类是由jquery在加载时生成的。
<div class="box-1234 mainDiv"></div>
每次在类名称中的“1234”生成不同的数字。 我应该如何使用jquery删除类以“box”开头? 注意:class =“mainDiv”需要保留在那里。
使用以下内容但它没有用。
$('[class^="box-"]').removeClass();
感谢。
答案 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