JQuery, как найти список div с похожим идентификатором - PullRequest
50 голосов
/ 04 августа 2009

У меня есть структура HTML, как это:

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

Как мне получить массив всех элементов div в JQuery с идентификатором триггера в них (как вы можете видеть, все они имеют триггер, но различную нумерацию, например, triger1, triger2 и т. Д ...)

Заранее спасибо

Ответы [ 4 ]

101 голосов
/ 04 августа 2009

Вы можете использовать следующее:

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

Это вернет все <div> с id, начиная (^=) с triger.

Более подробную информацию о различных селекторах jQuery вы можете найти в документации по jQuery:

API / Селекторы

7 голосов
/ 04 августа 2009

вы можете использовать регулярное выражение в селекторе, чтобы достичь именно того, что вы ищете, например:

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

(Примечание: для этого требуется плагин regex-selector )

Кто-то задал похожий вопрос здесь .

Вы можете прочитать все о регулярных выражениях здесь .

Как уже отмечали другие, вы можете достичь такого же результата, как этот:

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

с помощью простого селектора jQuery. Однако для более сложных вариантов вам нужно будет использовать плагин regex или сделать это вручную, как отмечено в связанном вопросе .

удачи!

5 голосов
/ 04 августа 2009

Выбрать все div элементы, атрибут которых id содержит строку triger:

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

Более подробно об использовании *= в документации по jQuery: Атрибут содержит селектор [name * = "value"]

3 голосов
/ 04 августа 2009
var trigerList = $("div[id^='triger']");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...