如何根据类名的某些字符从jQuery中删除元素?

我有类的元素可以像这样:

class="refType indent_00" class="refType indent_01" class="refType indent_02" .. class="refType indent_10" 

有没有一种简单的方法可以从这些中删除index_xx类?

谢谢

如果您可能找到index_xx类名的所有对象也都有refType类,那么您可以这样做:

 $(".refType").each(function() { this.className = $.trim(this.className.replace(/(^|\s)indent_\d+($|\s)/, " ")); }); 

如果,他们都没有refType类,那么你可以这样做:

 $("[class*='indent_']").each(function() { this.className = $.trim(this.className.replace(/(^|\s)indent_\d+($|\s)/, " ")); });​ 

或者,使用所有jQuery,您可以这样做:

 $("[class*='indent_']").removeClass(function(i, cls) { var retVal = ""; var matches = cls.match(/(^|\s)(indent_\d+)($|\s)/); if (matches) { retVal = matches[2]; } return(retVal); }); 

第一个可能更有效率。 如果你可以将这个范围扩展到DOM的某个部分而不是整个DOM,那么这可能有助于提高性能。

这里的第二个工作示例: http : //jsfiddle.net/jfriend00/PkXag/

使用jquery removeClass ; 例如:

 $('.refType').removeClass('indent_00'); 

另见本例 。