プレフィックス「my」とサフィックス「0-9」を持つjQueryですべてのIDを選択する方法はありますか? これらの $("#my$1-4") のようなものですか、それともループで可能ですか?
<div id="my1"/>
<div id="my2"/>
<div id="my3"/>
<div id="my4"/>
<div id="my5"/>
プレフィックス「my」とサフィックス「0-9」を持つjQueryですべてのIDを選択する方法はありますか? これらの $("#my$1-4") のようなものですか、それともループで可能ですか?
<div id="my1"/>
<div id="my2"/>
<div id="my3"/>
<div id="my4"/>
<div id="my5"/>
うまくいくと思われる最初の考え:
$('div[id^="my"]').filter(
function(){
return this.id.match(/\d+$/);
});
上記は、値で始まるすべてのdiv
要素を選択し、返された要素を数字で終わる要素にフィルターします。id
my
id
参考文献:
「my」で始まる要素が何百万もないと仮定すると、次のことができます。
$('[id^=my]').filter(function() { return this.id.matches(/\d/) && this.id.length == 3 })
これは、「my」で始まる ID を持ち、数字を含み、長さが 3 文字しかないすべての要素を取得します (したがって、「my54」は一致しませんが、「my6」は一致します)。