Seletor de atributo jQuery insensível a maiúsculas e minúsculas

Eu estou fazendo o seguinte usando o atributo contém seletor $ (‘[attribute * = value]’)

   $( "input[name*='man']").css("background-color:black");  

Isso funciona para a primeira input, mas não para a segunda input, pois ” Homem ” tem um ” M ” maiúsculo

Como posso fazer $( "input[name*='man']") um seletor sem diferenciação de maiúsculas e minúsculas?

Você sempre pode usar .filter() :

 var mans = $('input').filter(function() { return $(this).attr('name').toLowerCase().indexOf('man') > -1; }); mans.css('background-color', 'black'); 

A parte chave aqui é toLowerCase() que toLowerCase() o atributo de name , permitindo que você o teste para conter o man .

A maneira mais simples de fazer isso é adicionar um sinalizador de insensibilidade a maiúsculas e minúsculas ‘i’ dentro da parte regular do seletor:

Então, ao invés de

$( "input[name*='man']")

Você poderia fazer

$( "input[name*='man' i]")

Violino JS: https://jsfiddle.net/uoxvwxd1/3/

 var control = $('input').filter(function() { return /*REGEX_VALUE*/i.test($(this).attr('id')); }); 

* REGEX_VALUE * – o valor que você deseja encontrar

Eu acabei usando regex para validar se o atributo ‘ID’ satisfaz … regex é muito mais flexível se você quiser encontrar um certo valor ou valores, maiúsculas e minúsculas ou insensível ou um certo intervalo de valores …

Eu era apenas capaz de ignorar completamente a sensibilidade do case do jQuery para conseguir o que eu quero usando abaixo do código,

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

Você pode usar este link para encontrar código baseado em suas versões do jQuery, https://css-tricks.com/snippets/jquery/make-jquery-contains-case-insensitive/

Também há este artigo onde ele faz para muitas coisas boas com jquery: http://www.ultechspot.com/jquery/using-jquery-search-html-text-and-show-or-hide-accordingly

Isso funciona para mim usando jQuery e se estou adicionando item a uma tabela

  // check if item already exists in table var inputValue = $('#input').val(); // input var checkitem = $('#exampleTable td.value div.editable').filter(function() { //check each table's editable div matches the input value in lowercase if ($(this).text().toLowerCase() === inputValue.toLowerCase()) { itemexists = true; } }); if (itemexists) { alert("item exists in the table"); return; }