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.