我的 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">
我唯一知道的是drop
和最后一个数字
(例如1)。
如何使用 jQuery 选择它?
$('div[id^=drop_*_*_1]')
不起作用?
我做错了什么?
TIA frgtv10
最佳答案
默认情况下,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_1
或 drop__1
或 drop___
..._1
等内容。
链接:
- jsFiddle 我在其中尝试了您的示例:http://jsfiddle.net/3fXke/
- stackoverflow 上的类似问题:jQuery selector regular expressions
关于jquery - 正则表达式通配符选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12159248/