Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 355
deostroll Avatar asked Sep 28 '09 15:09

deostroll


3 Answers

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

like image 159
cdmckay Avatar answered Nov 11 '22 13:11

cdmckay


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

problem solved.

like image 41
xxxxxxx Avatar answered Nov 11 '22 12:11

xxxxxxx


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.

like image 6
Lee Avatar answered Nov 11 '22 12:11

Lee