9

What is the simplest way to iterate through all select drop downs with ID's matching a pattern using jquery. for example:

<select id="begin_1_end">...</select>

<select id="begin_32_end">...</select>

<select id="begin_42_end">...</select>

<select id="dontgetme_2_end">...</select>

<select id="begin_12_dontgetme">...</select>

to iterate through the first 3 selects only.

4

3 回答 3

32

试试这个属性-starts-with-selector/

$('select[id^="begin"]').each(function () {
    console.log(this.id);
});

或者您可以使用 带有选择器的属性端

$('select[id$="end"]').each(function () {
    console.log(this.id);
});

更新

要选择前 3 个,您可以:lt(3)像这样使用

$('select[id^="begin"]:lt(3)').each(function () {
    console.log(this.id);
});

演示

更新

要组合选择器,您可以这样做

$('select[id^="begin"][id$="end"]').each(function () {
    console.log(this.id);
});

演示

如果您想选择一个 id 以 begin OR end 开头的元素,您可以使用它,来获取两个不同的选择器

$('select[id^="begin"],select[id$="end"]').each(function () {
    //                ^
    console.log(this.id);
});

演示

于 2013-09-30T13:34:51.340 回答
3

use 属性以 selector 开头,然后使用.each()遍历它们

$('select[id^=begin_]').each(function(){...})
于 2013-09-30T13:34:48.453 回答
1

尝试使用以选择器开头的属性

  $("select[id^='begin_'").each(function(){
  //your stuff
  })
于 2013-09-30T13:34:36.697 回答