如何根据类名的某些字符从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');
另见本例 。