jquery的选择器中可以使用使用正则表达式吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery的选择器中可以使用使用正则表达式吗?相关的知识,希望对你有一定的参考价值。

<divclass="class_1"><divclass="class_2"></div></div><divclass="class_1"></div>我现在要得到class以“class_”开头的,后边是数字的所有元素,要怎么办?如果不支持,有其他办法吗... <div class="class_1"> <div class="class_2"> </div> </div> <div class="class_1"> </div> 我现在要得到class以“class_”开头的,后边是数字的所有元素,要怎么办? 如果不支持,有其他办法吗? 展开

参考技术A 1、jquery
里面可不可以用正则表达式,我想是可以的,但我没用过.
有了希望分享.
2、jquery
里面有个[attribute^=value
用来匹配
给定的属性是以某些值开始的元素,例如:
$("input
[class^='class_']");
不过不知这是不是属于jquery里面使用正则表达式.
呵呵.楼主可以研究下.
希望对你有帮助.

我们可以使用带有常见 jquery 查询的正则表达式吗? [复制]

【中文标题】我们可以使用带有常见 jquery 查询的正则表达式吗? [复制]【英文标题】:Can we use a regex with a common jquery query? [duplicate] 【发布时间】:2013-07-03 12:21:30 【问题描述】:

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

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

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

我正在尝试这个:

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

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

【问题讨论】:

【参考方案1】:

您可以使用 kindof 正则表达式的任何 CSS 选择器。

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

在你的情况下是

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

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

【讨论】:

【参考方案2】:

你可以像这样使用过滤器

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

Fiddle

【讨论】:

以上是关于jquery的选择器中可以使用使用正则表达式吗?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 选择器正则表达式

在 jQuery 选择器中使用 this 关键字

常用的JQuery数字类型验证正则表达式整理

jQuery选择器正则表达式

如何处理jQuery选择器中的特殊符号

jQuery - 从选择器中排除具有特定值的输入