Reputation: 3438
I have a structure of html like this:
<div id="triger1">some elements inside</div>
<div id="triger2">some elements inside</div>
<div id="triger3">some elements inside</div>
<div id="triger4">some elements inside</div>
How do I get array of all the div's in JQuery with the triger ID in them (as you can see, they all have triger but different numbering eg. triger1, triger2 etc...)
Upvotes: 56
Views: 97075
Reputation: 61567
Select all div
elements whose id
attribute contains the string triger
:
$('div[id*="triger"]');
There's more about using *=
in the jQuery documentation: Attribute Contains Selector [name*="value"]
Upvotes: 7
Reputation: 26713
you can actually use a regular expression in a selector to achieve exactly what you are looking for, as such:
$("div:regex(id, yourRegularExpression)");
(Note: this does require the regex-selector plugin)
Someone asked a similar question here.
You can read all about regular expressions here.
As others have pointed out, you can achieve the same result like this:
$("div[id^='partOfID']");
by using a simple jQuery selector. For more complex selections, though, you will need to use the regex plugin or do it manually, as noted in the linked question.
good luck!
Upvotes: 7
Reputation: 95334
You can use the following:
$("div[id^='triger']")
This will return all <div>
with id
starting (^=
) with triger
.
You can get more information about the various jQuery selectors in the jQuery docs:
Upvotes: 116