152 votes

Un sélecteur jQuery ou CSS pour sélectionner tous les ID qui commencent par une chaîne de caractères.

Comment puis-je sélectionner tous les éléments dont id commence par "player_" ?

J'ai plusieurs éléments comme celui-ci :

<div id="player_290x3dfda">text</div>

Chaque id a un cachet unique. Comment puis-je sélectionner tous ces éléments, soit avec jQuery, soit avec du pur CSS ?

254voto

BoltClock Points 249668

Normalement, vous devez sélectionner les ID à l'aide du sélecteur d'ID. # mais pour des correspondances plus complexes, vous pouvez utiliser le sélecteur d'attribut-starts-with (comme un Sélecteur jQuery ou en tant que sélecteur CSS3) :

div[id^="player_"]

Cependant, si vous êtes en mesure de modifier ce HTML, vous devez ajouter une classe à votre lecteur div ciblent alors cette classe. Vous perdrez de toute façon la spécificité supplémentaire offerte par les sélecteurs d'ID, car les sélecteurs d'attributs partagent la même spécificité que les sélecteurs de classe. De plus, l'utilisation d'une classe simplifie grandement les choses.

83voto

Prakash Points 3671

Essayez ceci :

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

24voto

Timon Points 243

Vous pouvez utiliser des métacaractères comme * ( http://api.jquery.com/category/selectors/ ). Je pense donc que vous pouvez simplement utiliser $('#player_*') .

Dans votre cas, vous pouvez également essayer le sélecteur "Attribut commence par" : http://api.jquery.com/attribute-starts-with-selector/ : $('div[id^="player_"]')

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X