web-dev-qa-db-fra.com

JQuery, comment trouver la liste des div avec un ID similaire

J'ai une structure html comme celle-ci:

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

Comment puis-je obtenir un tableau de tous les div dans JQuery avec l'ID de triger en eux (comme vous pouvez le voir, ils ont tous triger mais une numérotation différente, par exemple triger1, triger2 etc ...)

Merci d'avance

50
Dmitris

Vous pouvez utiliser les éléments suivants:

$("div[id^='triger']")

Cela renverra tous les <div> avec id commençant (^=) avec triger.

Vous pouvez obtenir plus d'informations sur les différents sélecteurs jQuery dans les documents jQuery:

API/Sélecteurs

101
Andrew Moore

vous pouvez réellement utiliser une expression régulière dans un sélecteur pour obtenir exactement ce que vous recherchez, en tant que tel:

$("div:regex(id, yourRegularExpression)");

(Remarque: cela nécessite le plugin regex-selector )

Quelqu'un a posé une question similaire ici .

Vous pouvez tout lire sur les expressions régulières ici .

Comme d'autres l'ont souligné, vous pouvez obtenir le même résultat comme ceci:

$("div[id^='partOfID']");

en utilisant un simple sélecteur jQuery. Pour des sélections plus complexes, cependant, vous devrez utiliser le plugin regex ou le faire manuellement, comme indiqué dans le question liée .

bonne chance!

7
Yuval Karmi

Sélectionnez tous les éléments div dont l'attribut id contient la chaîne triger:

$('div[id*="triger"]');

En savoir plus sur l'utilisation de *= dans la documentation jQuery: l'attribut contient le sélecteur [name * = "value"]

5
Tyler Carter
var trigerList = $("div[id^='triger']");
3
Tim S. Van Haren