Skip to main content

Hi, I'm Mariano Guerra, below is my blog, if you want to learn more about me and what I do check a summary here: marianoguerra.github.io or find me on twitter @warianoguerra or Mastodon @marianoguerra@hachyderm.io

contains case insensitive en jquery 1.8 (:containsi)

digamos que queres filtrar algo en jquery basado en el texto de algunos nodos, en tal caso usarias :contains

pero que si queres que sea case insensitive?

luego de buscar un poco vas a encontrar este issue de jquery y vas a copiar y pegar un codigo de hace 3 anios para darte cuenta que se rompe en jquery >= 1.8

despues vas a usar esta version:

function jqueryContainsI(text) {
    return function (elem) {
        return (elem.textContent || elem.innerText || $.text(elem)).toLowerCase().indexOf(text.toLowerCase()) > -1;
    };
}

jqueryContainsI.sizzleFilter = true;

// add case insensitive :contains filter called :containsi (see the last i)
$.extend($.expr[':'], {
    'containsi': jqueryContainsI
});