jQuery :contains selector to search for multiple strings
Solution 1:
Answer
To find li
's that have text containing BOTH Mary AND John:
$('li:contains("Mary"):contains("John")')
To find li
's that have text containing EITHER Mary OR John:
$('li:contains("Mary"), li:contains("John")')
Explanation
Just think of the :contains
as if it was a class declaration, like .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
It's the same with :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
Solution 2:
How about
$('li:contains("John"),li:contains("Mary")')