it-swarm.com.de

jQuery- oder CSS-Auswahl, um alle IDs auszuwählen, die mit einer Zeichenfolge beginnen

Wie kann ich alle Elemente auswählen, deren id mit "player_" beginnt?

Ich habe mehrere Elemente wie dieses:

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

Jedes id hat einen eigenen Stempel. Wie kann ich all diese Elemente auswählen, entweder mit jQuery oder mit reinem CSS?

150
matt

Normalerweise würden Sie IDs mit dem ID-Selektor # Auswählen, aber für komplexere Übereinstimmungen können Sie den Attribut-Beginnt-mit-Selektor (als jQuery-Selektor oder als CSS3-Selektor) verwenden. :

div[id^="player_"]

Wenn Sie diesen HTML-Code jedoch ändern können, sollten Sie Ihrem Player divs eine Klasse hinzufügen und dann auf diese Klasse ausrichten. Sie verlieren ohnehin die zusätzliche Spezifität, die ID-Selektoren bieten, da Attributselektoren dieselbe Spezifität wie Klassenselektoren haben. Darüber hinaus vereinfacht die Verwendung einer Klasse die Arbeit erheblich.

251
BoltClock

versuche dies:

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

Sie können Metazeichen wie * ( http://api.jquery.com/category/selectors/ ) verwenden. Ich denke, Sie können einfach $('#player_*') verwenden.

In Ihrem Fall können Sie auch den Selektor "Attribut beginnt mit" ausprobieren: http://api.jquery.com/attribute-starts-with-selector/ : $('div[id^="player_"]')

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

Dies hat bei mir funktioniert. Wählen Sie alle Div-Starts mit dem Schlüsselwort "players_" aus und zeigen Sie es an.

3
Riddhi