RegExp通配符选择器

时间:2012-08-28 12:29:56

标签: jquery jquery-selectors

我的div有这样的ID:

<div id="drop_12_213_1">
<div id="drop_12_213_2">
<div id="drop_12_213_3">
<div id="drop_13_213_4">

我唯一知道的是droplast number(例如1)。

如何选择jQuery?

$('div[id^=drop_*_*_1]')无效?

我做错了什么?

TIA frgtv10

1 个答案:

答案 0 :(得分:3)

jQuery默认情况下不支持正则表达式作为选择器。有一些filters可以做到这一点。

你可以做的是使用jQuery filter()方法。

$('div').filter(function() {
    return this.id.match(/^drop_\d+_\d+_1$/);
}).html("match");

这将基本检查文档中的所有div并使用filter()方法查看它是否匹配。 我想这不会是最快的做法,你可以尝试尽可能地限制搜索(例如$('div', container_of_divs)),但是根据你想要解析的内容,似乎结果更多比速度重要。

作为一个注释,你的正则表达式也是错误的。

drop_*_*_1转换为:

  • drop后跟
  • _零次或多次,
  • _零次或多次,
  • _1

哪个匹配drop_1drop__1drop___ ...... _1

链接: