matching

by rwone

HTML

<ul>
<li>
<label>Test</label>
</li>
<li>Oh Nu</li>
</ul>

CSS

.matched {
  background: yellow
}

.notmatched {
background: aqua;
}

JavaScript

//var myString = "Test";

var myString = "";

// 01.  :contains() - matches empty string as well
$("ul li > label:contains(" + myString + ")").closest("li").addClass("matched").siblings("li").addClass("notmatched");

// // 02.  filter()
// $("ul li > label").filter(function() {
//     return $(this).text() === myString;
// }).closest("li").addClass("matched").siblings("li").addClass("notmatched");

// // 03.  custom function
// $.expr[':'].textEquals = $.expr.createPseudo(function(arg) {
//     return function( elem ) {
//         return $(elem).text().match("^" + arg + "$");
//     };
// });

// $("ul li > label:textEquals(" + myString + ")").closest("li").addClass("matched").siblings("li").addClass("notmatched");