Estoy tratando de utilizar "contiene" sin distinción entre mayúsculas y minúsculas. Intenté usar la solución en la siguiente pregunta de stackoverflow, pero no funcionó:
¿Hay un jQuery: contiene selector que no distingue entre mayúsculas y minúsculas?
Por conveniencia, la solución se copia aquí:
jQuery.extend(
jQuery.expr[':'], {
Contains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0"
});
Aquí está el error:
Error: q is not a function
Source File: /js/jquery-1.4.js?ver=1.4
Line: 81
Aquí es donde lo estoy usando:
$('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");
}
});
Mi uso del original "contiene" que distingue entre mayúsculas y minúsculas en el mismo escenario funciona sin errores. ¿Alguien tiene alguna idea? Lo apreciaría.
:containsExact
,:containsExactCase
y:containsRegex
selectores de ahora el trabajo en todas las versiones de jQuery.Respuestas:
Esto es lo que estoy usando en un proyecto actual, no he tenido ningún problema. Vea si tiene mejor suerte con este formato:
En jQuery 1.8, la API para esto cambió, la versión jQuery 1.8+ de esto sería:
Puedes probarlo aquí . Para obtener más detalles sobre los selectores personalizados 1.8+, consulte la wiki de Sizzle aquí .
fuente
icontains
, o algo similar.Vale la pena señalar que la respuesta es correcta, pero solo cubre
:Contains
, y no el alias:contains
que podría conducir a un comportamiento inesperado (o podría usarse por diseño para aplicaciones avanzadas que requieren una búsqueda sensible e insensible).Esto podría resolverse duplicando la extensión del alias:
Me tomó un tiempo averiguar por qué no funcionaba para mí.
fuente
:contains
. Creo que es más claro dejar el original:contains
solo y llamar a su nuevo selector:icontains
.Yo haría algo como esto
Y dejar
:contains
solo ...MANIFESTACIÓN
Entonces, ¿por qué jQuery no lo admite en su biblioteca? si es asi de facil ...
porque ¿su código pasa el código de Turquía?
fuente
Puede llegar tarde ... pero,
Preferiría ir por este camino ...
De esta manera, NO manipula el NATIVO '.contains' de jQuery ... Es posible que necesite el predeterminado más adelante ... si se manipula, es posible que vuelva a stackOverFlow ...
fuente
me permitiré agregar a mis amigos:
fuente
Solo pude ignorar la sensibilidad de mayúsculas y minúsculas de jQuery por completo para lograr lo que quiero usando el siguiente código:
Puede usar este enlace para buscar código basado en sus versiones de jQuery para ignorar la distinción entre mayúsculas y minúsculas, https://css-tricks.com/snippets/jquery/make-jquery-contains-case-insensitive/
Además, si desea utilizar: contiene y realizar una búsqueda, es posible que desee echar un vistazo a esto: http://technarco.com/jquery/using-jquery-search-html-text-and-show-or-hide- en consecuencia
fuente