J'essaie d'utiliser le cas "contains" de manière insensible. J'ai essayé d'utiliser la solution à la question suivante de stackoverflow, mais cela n'a pas fonctionné :
Existe-t-il un sélecteur jQuery :contains insensible à la casse ?
Par commodité, la solution est copiée ici :
jQuery.extend(
jQuery.expr[':'], {
Contains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0"
});
Voici l'erreur :
Error: q is not a function
Source File: /js/jquery-1.4.js?ver=1.4
Line: 81
Voilà où je l'utilise :
$('input.preset').keyup(function() {
$(this).next().find("li").removeClass("bold");
var theMatch = $(this).val();
if (theMatch.length > 1){
theMatch = "li:Contains('" + theMatch + "')";
$(this).next().find(theMatch).addClass("bold");
}
});
Dans le même scénario, j'utilise le mot "contains" original, sensible à la casse, sans aucune erreur. Quelqu'un a-t-il une idée ? Je vous en serais reconnaissant.
0 votes
Au cas où quelqu'un serait intéressé, j'ai mis à jour mes article de blog sur trois sélecteurs de contenu supplémentaires
:containsExact
,:containsExactCase
et:containsRegex
pour que les sélecteurs fonctionnent désormais dans toutes les versions de jQuery.0 votes
Voir css-tricks.com/snippets/jquery/ ,
0 votes
Je pense que .filter() est un autre bon moyen. Référence