是否有一種方法可以選擇帶有前綴「my」和後綴「0-9」的jQuery的所有id。 就像這些$(「#我的$ 1-4」)或只是可能與循環?jQuery選擇以word爲前綴並以計數器爲後綴的#id
<div id="my1"/>
<div id="my2"/>
<div id="my3"/>
<div id="my4"/>
<div id="my5"/>
是否有一種方法可以選擇帶有前綴「my」和後綴「0-9」的jQuery的所有id。 就像這些$(「#我的$ 1-4」)或只是可能與循環?jQuery選擇以word爲前綴並以計數器爲後綴的#id
<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
也與數字字符結束。
參考文獻:
前綴部分是與attribute starts-with選擇容易實現的:
$("div[id^=my]");
但沒有選擇,這將允許你指定一個字符範圍,這樣的循環將不得不參與其中。我建議filter
:
$("div").filter(function() {
return /^my\d$/.test(this.id);
});
假設你沒有數以百萬計的元素,與「我」,你可以做啓動:
$('[id^=my]').filter(function() { return this.id.matches(/\d/) && this.id.length == 3 })
這抓起有開頭的ID的所有要素「我的」,包含一些,只有3個字符長(所以「my54」不會匹配,但「my6」會)
你只需要** id **選擇器?爲什麼不使用類,名稱或數據選擇器。 最後一個請參閱http://stackoverflow.com/questions/2891452/jquery-data-selector 還有像這樣的屬性選擇器http://api.jquery.com/attribute-contains-prefix-selector/ – m03geek