Hacer jQuery: contiene mayúsculas y minúsculas | Programar Plus

// 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;
};

Actualizar para trabajar con jQuery 1.8

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

Con esto en su lugar,

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

seleccionaría estos tres elementos:

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

Demostración a través de Pablo Fortes.