5

我想影响包含一个几乎相似的类的所有元素,我可以迭代并使用迭代器来完成这项工作,但我想知道在这种情况下我们是否可以使用正则表达式:

$('.player').removeClass('player-1 player-2 player-3'); //player-n

jQuery removeClass(以及影响 DOM 的全局 jquery 方法)可以在这里处理正则表达式吗?

我正在尝试这个:

$('.player').removeClass('/player-[0-9]+/');

我在这里测试过的正则表达式匹配,但它在我的 DOM 上不起作用,在这种情况下 jQuery 是否支持正则表达式?

4

2 回答 2

2

您可以使用任何属于正则表达式的css 选择器。

http://api.jquery.com/category/selectors/

在你的情况下,它会是

$("[class^='player-']")

或者

$("[class|='player']")

于 2013-07-05T11:59:44.607 回答
1

你可以像这样使用过滤器

var elements = $('.player').filter(function() {
    return this.className = this.className.replace(/player-[0-9]+/, '');
});

小提琴

于 2013-07-05T11:58:49.267 回答