Estou tentando usar maiúsculas e minúsculas "contém" de maneira insensível. Tentei usar a solução na seguinte questão stackoverflow, mas não funcionou:
Existe um seletor jQuery: contém insensível a maiúsculas e minúsculas?
Por conveniência, a solução é copiada aqui:
jQuery.extend(
jQuery.expr[':'], {
Contains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0"
});
Aqui está o erro:
Error: q is not a function
Source File: /js/jquery-1.4.js?ver=1.4
Line: 81
É aqui que estou 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");
}
});
Meu uso do "contém" com distinção entre maiúsculas e minúsculas no mesmo cenário funciona sem erros. Alguém tem alguma idéia? Eu apreciaria.
:containsExact
,:containsExactCase
e:containsRegex
seletores agora trabalho em todas as versões do jQuery.Respostas:
Isso é o que estou usando em um projeto atual, não tive problemas. Veja se você tem mais sorte com este formato:
No jQuery 1.8, a API para isso mudou, a versão jQuery 1.8+ disso seria:
Você pode testar aqui . Para mais detalhes sobre 1.8+ seletores personalizados, verifique o wiki do Sizzle aqui .
fonte
icontains
, ou algo semelhante.É importante notar que a resposta está correta, mas cobre apenas
:Contains
, e não o alias,:contains
que pode levar a um comportamento inesperado (ou pode ser usado por design para aplicativos avançados que requerem pesquisa sensível e insensível).Isso pode ser resolvido duplicando a extensão para o alias:
Levei um tempo para descobrir por que não estava funcionando para mim.
fonte
:contains
. Acho que é mais claro deixar o original em:contains
paz e chamar seu novo seletor:icontains
.Eu faria algo assim
E deixe em
:contains
paz ...DEMO
Então, por que o jQuery não o suporta em sua biblioteca ?! se for assim tão fácil ...
porque o seu código passa o código turkey?
fonte
Pode ser tarde .... mas,
Eu prefiro ir por aqui ..
Dessa forma, você NÃO adulterará o NATIVO '.contains' do jQuery ... Você pode precisar do padrão mais tarde ... se adulterado, você pode voltar ao stackOverFlow ...
fonte
vou me permitir adicionar meus amigos:
fonte
Consegui ignorar a diferenciação de maiúsculas e minúsculas do jQuery para conseguir o que desejo usando o código abaixo:
Você pode usar este link para encontrar o código com base em suas versões do jQuery para ignorar a diferenciação de maiúsculas e minúsculas, https://css-tricks.com/snippets/jquery/make-jquery-contains-case-insensitive/
Além disso, se você quiser usar: contém e fazer alguma pesquisa, consulte: http://technarco.com/jquery/using-jquery-search-html-text-and-show-or-hide- adequadamente
fonte