Найти все элементы на странице, чей идентификатор элемента содержит определенный текст, используя jQuery - PullRequest
113 голосов
/ 30 июля 2009

Я пытаюсь найти все элементы на странице, идентификатор элемента которых содержит определенный текст. Затем мне нужно будет отфильтровать найденные элементы в зависимости от того, скрыты они или нет. Любая помощь с благодарностью.

Ответы [ 4 ]

177 голосов
/ 30 июля 2009
$('*[id*=mytext]:visible').each(function() {
    $(this).doStuff();
});

Обратите внимание, что звездочка '*' в начале селектора соответствует всем элементам .

См. Атрибут , содержащий селекторы , а также : видимый и : скрытый селектор.

117 голосов
/ 28 февраля 2014

Если вы найдете по Содержит , тогда это будет так

    $("input[id*='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Если вы находите по Начинается с , тогда это будет так

    $("input[id^='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Если вы найдете Заканчивается с , тогда это будет так

     $("input[id$='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Если вы хотите выбрать элементы, для которых id не является заданной строкой

    $("input[id!='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Если вы хотите выбрать элементы, в которых id содержит данное слово, разделенное пробелами

     $("input[id~='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });

Если вы хотите выбрать элементы, для которых id равен заданной строке или начинается с этой строки, за которой следует дефис

     $("input[id|='DiscountType']").each(function (i, el) {
         //It'll be an array of elements
     });
17 голосов
/ 30 июля 2009

Выбирает все DIV с идентификатором, содержащим 'foo' и видимым

$("div:visible[id*='foo']");
6 голосов
/ 30 июля 2009

Спасибо вам обоим. Это прекрасно сработало для меня.

$("input[type='text'][id*=" + strID + "]:visible").each(function() {
    this.value=strVal;
});
...