Jquery 选择器获取所有带有 ID 模式的选择下拉列表
Posted
技术标签:
【中文标题】Jquery 选择器获取所有带有 ID 模式的选择下拉列表【英文标题】:Jquery selector to get all select dropdowns with ID pattern 【发布时间】: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 个选择。
【问题讨论】:
类似:***.com/questions/1487792/… 【参考方案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
)
【讨论】:
以上是关于Jquery 选择器获取所有带有 ID 模式的选择下拉列表的主要内容,如果未能解决你的问题,请参考以下文章