有没有更好的方法来做到这一点?
$('element').removeClass('class-1').removeClass('class-2').removeClass('class-3').removeClass('class-5') ...
to .removeClass('class-105')
:)我想删除所有class-(n)类。
发布于 2010-09-12 02:35:21
获取元素的类,将其作为字符串处理,然后放回原处:
$('element').attr(
'className',
$('element').attr('className').replace(/\bclass-\d+\b/g, '')
);编辑:
此后,attr方法发生了更改,它不再读取属性,因此您必须使用属性名称class而不是属性名称className
$('element').attr(
'class',
$('element').attr('class').replace(/\bclass-\d+\b/g, '')
);发布于 2012-01-18 02:34:32
下面是我使用的一个小的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);您可以这样使用它:
$(...).removeClassWild('class-*');发布于 2010-09-12 03:10:43
使用css选择器[type*=value]可以更好地实现这一点。
$(function() {
var i = 0;
while( ++i <= 105) {
$('b').addClass('class-'+ i);
}
var clas = '';
var arey =[]
$('input[type=button]').click(function() {
clas = $('b').attr('class');
arey = clas.match(/class-\d{1,3}/g);
$.each(arey, function(i, e) {
$('b').removeClass(e);
});
});
}); 编辑:
演示:
https://stackoverflow.com/questions/3692142
复制相似问题