【问题标题】:Jquery selector to get all select dropdowns with ID patternJquery 选择器获取所有带有 ID 模式的选择下拉列表
【发布时间】:2013-10-06 09:33:24
【问题描述】:

使用 jquery 遍历 ID 与模式匹配的所有选择下拉列表的最简单方法是什么?例如:

<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>

仅遍历前 3 个选择。

【问题讨论】:

标签: jquery select jquery-selectors


【解决方案1】:

attribute-starts-with-selector/试试这个

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

或者你可以使用attribute-ends-with-selector

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

更新

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

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

DEMO

更新

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

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

DEMO

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

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

DEMO

【讨论】:

  • 谢谢。你如何结合开始和结束模式?请参阅更新的问题。谢谢。有时开始模式匹配但不匹配结束模式。
  • 在您更新的问题中,您只想选择前三个,那么我的答案中最近的更新之一应该可以工作。你测试过吗? @RayS。
【解决方案2】:

使用属性starts with selector,然后使用.each()遍历它们

$('select[id^=begin_]').each(function(){...})

【讨论】:

    【解决方案3】:

    尝试使用attribute starts with selector

      $("select[id^='begin_'").each(function(){
      //your stuff
      })
    

    【讨论】:

      猜你喜欢
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 2013-01-12
      • 2018-12-21
      相关资源
      最近更新 更多