jQuery :contains Groß-/Kleinschreibung ignorieren

Avatar of Chris Coyier
Chris Coyier am
// NEW selector
jQuery.expr[':'].Contains = function(a, i, m) {
  return jQuery(a).text().toUpperCase()
      .indexOf(m[3].toUpperCase()) >= 0;
};

// OVERWRITES old selecor
jQuery.expr[':'].contains = function(a, i, m) {
  return jQuery(a).text().toUpperCase()
      .indexOf(m[3].toUpperCase()) >= 0;
};

Update für jQuery 1.8

$.expr[":"].contains = $.expr.createPseudo(function(arg) {
    return function( elem ) {
        return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
    };
});

Mit diesem in Kraft,

$("div:contains('John')")

würden alle drei dieser Elemente ausgewählt werden

<div>john</div>
<div>John</div>
<div>hey hey JOHN hey hey</div>

Demo von Pablo Fortes.