jquery: find element whose id has a particular pattern

I am trying to find a span element who has an id in a particular pattern. Its main use is to find certain elements rendered by an asp.net (aspx) page which is derived from a master page.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

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).

Method 2

$('span').each(function(){
   if( $(this).attr('id').match(/pattern/) ) {
        // your code goes here
   }
});

problem solved.

Method 3

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.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x