不区分大小写的jQuery属性select器

我正在做下面的使用属性包含select器$('[attribute * = value]')

<input name="man-news"> <input name="milkMan"> <script> $( "input[name*='man']").css("background-color:black"); </script> 

这适用于第一个input,但不适用于第二个input,因为“ Man ”具有大写字母“ M

我如何使$( "input[name*='man']")不区分大小写的select器?

你总是可以使用.filter()

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

这里的关键部分是toLowerCase() ,它降低了name属性,允许你testing它是否包含man

最简单的方法是在select器的正则expression式部分添加一个不区分大小写的标志“i”

所以,而不是

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

你可以做

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

JS小提琴: https : //jsfiddle.net/uoxvwxd1/3/

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

* REGEX_VALUE * – 您想要查找的值

我结束了使用正则expression式来validation属性“ID”是否满足…正则expression式是更灵活,如果你想find一个匹配的值或值,区分大小写敏感或不敏感或一定范围的值…

我只是能够完全忽略jQuery的case sensetivity来实现我想用下面的代码,

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

你可以使用这个链接来查找基于你的jQuery版本的代码, https://css-tricks.com/snippets/jquery/make-jquery-contains-case-insensitive/

也有这篇文章,它用jQuery的许多好东西: http : //www.ultechspot.com/jquery/using-jquery-search-html-text-and-show-or-hide-accordingly