jQuery通配符选择

时间:2010-05-06 09:02:14

标签: jquery regex

假设您有一些<div> s:

<div id="div_num1"></div>
<div id="div_num2"></div>
<div id="div_num3"></div>

您可以选择$("div[id^='div_num']")来选择所有这些div。你如何建立一个引用前缀后面的数字的函数?

例如,一个警告"div_num3"的数字3的函数。

更一般地说,如何在jQuery选择器中使用完整的正则表达式?

2 个答案:

答案 0 :(得分:5)

如果你有一组元素,你可以迭代它并在那里得到数字:

$("div[id^='div_num']").each(function() {
    if (this.id.match(/^div_num(\d+)$/)) {
        alert(RegExp.$1);
    }
})

答案 1 :(得分:1)

它应该是这样的:

$('div[id^=div_num]').click(function() {
    var m = /div_num(\d+)/.exec($(this).attr('id'));
    if (m == null) // no match
        return;
    alert(m[1]);  // note that the match will be in m[1], not m[0]
}