有没有更好的方法来做到这一点?
$('element').removeClass('class-1').removeClass('class-2').removeClass('class-3').removeClass('class-5') ...
to .removeClass('class-105')
:)
Run Code Online (Sandbox Code Playgroud)
我想删除所有class-(n)类.
这是我用于此目的的一个小jQuery插件:
(function($) {
$.fn.removeClassWild = function(mask) {
return this.removeClass(function(index, cls) {
var re = mask.replace(/\*/g, '\\S+');
return (cls.match(new RegExp('\\b' + re + '', 'g')) || []).join(' ');
});
};
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
你这样使用它:
$(...).removeClassWild('class-*');
Run Code Online (Sandbox Code Playgroud)
获取元素的类,将其作为字符串处理,然后将其放回:
$('element').attr(
'className',
$('element').attr('className').replace(/\bclass-\d+\b/g, '')
);
Run Code Online (Sandbox Code Playgroud)
该attr方法已更改,并且不再读取属性,因此您必须使用属性名称class而不是属性名称className:
$('element').attr(
'class',
$('element').attr('class').replace(/\bclass-\d+\b/g, '')
);
Run Code Online (Sandbox Code Playgroud)