如何使用设置的jquery匹配内容:
我想做类似的事情:
$("div:regex(id, intersection_*_*_5)").each(function(){
$(this).click();
});
这可行吗?假设*是一个通配符,我似乎无法开始工作。
答案 0 :(得分:2)
使用过滤器和正确的正则表达式,这应该可行
$("div:regex(id, ^intersection_\d_\d_5$)").each(function(){
$(this).click();
});
尝试使用此正则表达式^intersection_[\w-[0-9]]+_\d+_\d+$
如果你知道它是什么,你可以使用特定的单词/数字替换两个下划线之间的部分。
答案 1 :(得分:2)
如果您不想要插件,并且您不想创建自己的选择器过滤器,请执行以下操作:
$("div[id^=intersection]").filter(function() {
var header = this.id.substr(13);
var regex = new RegExp('_[a-zA-Z]+_\\d+_' + header + '$');
return regex.test(this.id);
}).click();
最好是您的<div>
元素有一个类以提高性能。
类似的东西:
$("div.intersection[id^=intersection]")...
答案 2 :(得分:0)
jQuery有正则表达式选择器:
http://james.padolsey.com/javascript/regex-selector-for-jquery/
就像这样使用:
$( ':正则表达式(ID,^ [AEIOU])');
答案 3 :(得分:0)
使用filter方法和自定义功能。像这样:
var r = new RegExp("intersection_\d+_\d+_"+num);
$("div").filter(function(){
return $(this).attr("id").match(r);
}).click();