jquery найти элемент с текстом

Может ли кто-нибудь сказать мне, можно ли найти элемент на основе его содержимого, а не id или class?

Я пытаюсь найти элементы, которые не имеют отдельных классов или идентификаторов. (Тогда мне нужно найти этот родитель элемента.)

Вы можете использовать селектор :contains , чтобы получать элементы на основе их содержимого.

В документации JQuery это говорит:

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

Поэтому вам недостаточно использовать селектор :contains() , вам также нужно проверить, является ли искомый текст прямым содержанием элемента, на который вы нацеливаетесь, что-то вроде этого:

В jQuery есть возможность задать селектор ‘contains’. Вот пример:

Этот селектор возвращает массив объектов jQuery, который соответствует элементам DOM, содержащим заданный текст. Узнать больше можно в документации по jQuery (на английском языке) .

Учтите: ‘*’ означает, что Вы получите все элементы, включая ‘html’ и ‘body’, что, скорее всего, Вам не нужно. Поэтому, наверное, предпочтительней написать что-то типа:

В этом случае поиск будет выполнен только по элементах DIV с классом find-in-me.

Вы можете поэкспериментировать со следующим примером, чтобы понять суть работы селектора. Обратите внимание на случай со второй кнопкой, когда поиск вернёт не только элемент, содержащий данную строку, а вместе с ним — всех его предков. Поэтому будьте осторожны.

Материал из JQuery

Соответствует элементам, которые содержат строку text. Чувствителен к регистру.

$(‘div:contains(«Петр»)’) вернет все div-элементы, внутри которых найдется строка Петр.

С помощью селектора :contains(text), элемент будет выбран как в случае если строка text присутствует непосредственно внутри него, так и в случае, если она находится внутри одного из его потомков.

Читайте также:  akribos xxiv часы отзывы

В действии

Обведем красной рамкой div-элементы, содержащие текст «товарищ».

Оцените статью
Добавить комментарий

Adblock detector