jQuery: содержит селектор для поиска нескольких строк

Принятие я имею:

<li id="1">Mary</li>
<li id="2">John, Mary, Dave</li>
<li id="3">John, Dave, Mary</li>
<li id="4">John</li>

Если я должен найти весь <литий> Элементы, которые содержат "John" и "Mary", как я создал бы jQuery?

Поиск единственной строки кажется легким:

$('li:contains("John")').text()

Я ищу что-то как следующий псевдо код:

$('li:contains("John")' && 'li:contains("Mary")').text()

Спасибо!

63
задан zıəs uɐɟəʇs 13 March 2010 в 12:47
поделиться

2 ответа

Ответ

Чтобы найти li , в которых есть текст, содержащий ОБА Мэри И Иоанн:

$('li:contains("Mary"):contains("John")')

Найти li , у которых есть текст содержащий ЛИБО Мэри ИЛИ Джон:

$('li:contains("Mary"), li:contains("John")')

Объяснение

Подумайте о : contains , как если бы это было объявление класса, например .class :

$('li.one.two').      // Find <li>'s with classes of BOTH one AND two
$('li.one, li.two').  // Find <li>'s with a class of EITHER one OR two

То же самое и с : contains :

$('li:contains("Mary"):contains("John")').      // Both Mary AND John
$('li:contains("Mary"), li:contains("John")').  // Either Mary OR John

Demo

http://jsbin.com/ejuzi/edit

114
ответ дан 24 November 2019 в 16:18
поделиться

Как насчет

$('li:contains("John"),li:contains("Mary")')
7
ответ дан 24 November 2019 в 16:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: