it-swarm-ru.tech

JQuery или CSS селектор, чтобы выбрать все идентификаторы, которые начинаются с какой-то строки

Как выбрать все элементы, чье id начинается с "player_"?

У меня есть несколько элементов, как это:

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

У каждого id есть уникальный штамп. Как я могу выбрать все эти элементы, либо с помощью jQuery, либо с помощью чистого CSS?

148
matt

Обычно вы выбираете идентификаторы, используя селектор идентификаторов #, но для более сложных совпадений вы можете использовать селектор атрибутов, начинающихся с (как селектор jQuery или как селектор CSS3):

div[id^="player_"]

Однако если вы можете изменить этот HTML-код, вам нужно добавить класс в свой проигрыватель divs, а затем настроить его на этот класс. В любом случае вы потеряете дополнительную специфичность, предлагаемую селекторами идентификаторов, поскольку селекторы атрибутов обладают той же специфичностью, что и селекторы классов. Кроме того, просто использование класса делает вещи намного проще.

248
BoltClock

попробуй это:

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

Вы можете использовать метасимволы, такие как * ( http://api.jquery.com/category/selectors/ ). Поэтому я думаю, что вы можете просто использовать $('#player_*').

В вашем случае вы также можете попробовать селектор "Атрибут начинается с": http://api.jquery.com/attribute-starts-with-selector/ : $('div[id^="player_"]')

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

Это сработало для меня .. выберите все Div начинается с ключевого слова Players_ и отобразите его.

3
Riddhi