jquery: find element whose id has a particular pattern
I know this is an old post, but additional information can help future developers who stumble across this. :) To add on to what @cdmckay mentioned, you can combine the attribute selectors to achieve "begins with X and ends with Y".
$("input[id^=inp][id$=_AddItem]")
This will match id "inp1_AddItem", "inp2_AddItem", "inp3_AddItem", etc.
Building on the accepted answer:
It depends on what kind of pattern you're looking for. If your pattern is something like "MasterPageElement_CheckBox_4443", "MasterPageElement_CheckBox_4448", etc. then you could also use:
$("span[id^=MasterPageElement_CheckBox]")
There are 3 built-in attribute selectors for simple patterns:
$("span[id^=foo]")
That selector matches all spans that have an id
attribute and it starts with foo
(e.g. fooblah
)
$("span[id$=foo]")
That selector matches all spans that have an id
attribute and it ends with foo
(e.g. blahfoo
).
$("span[id*=foo]")
That selector matches all spans that have an id
attribute and it has foo
somewhere within in it (e.g. blahfooblah
).
$('span').each(function(){
if( $(this).attr('id').match(/pattern/) ) {
// your code goes here
}
});
problem solved.