jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery:contains()选择器大写和小写字母的问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的html看起来像这样
<input id="txt" value=""></input>

<div class="link-item">jK</div>
<div class="link-item">JFOO</div>

我的js

$('#txt').keyup(function(){

    var txtsearch = $('#txt').val();
    var filt = $("div.link-item:contains('" + txtsearch +"')");

    $("div.link-item").css("display","none")
        .filter(filt)
        .css("display","block");

});

我正在寻找在客户端动态过滤内容.当我键入大写字母j时,它只返回第二个div,而我想要获取包含j的所有div,无论是大写还是小写.

解决方法

您可以将.contains过滤器更改为不区分大小写,或创建自己的选择器.
jQuery.expr[':'].icontains = function(a,i,m) {
  return jQuery(a).text().toUpperCase()
      .indexOf(m[3].toUpperCase()) >= 0;
};

这将创建一个新的选择器:icontains(或者你可以命名它不敏感 – 包含,或任何适合你的想法).
它的用法与以下内容相同:$(‘div:icontains(“Stack”)’);会匹配:

<div>stack</div>
<div>Stack</div>
<div>StAcKOverflow</div>

或覆盖现有的.contains过滤器:

jQuery.expr[':'].contains = function(a,m) {
  return jQuery(a).text().toUpperCase()
      .indexOf(m[3].toUpperCase()) >= 0;
};

有了这个,

$("div:contains('John')");

将选择所有这三个元素:

<div>john</div>
<div>John</div>
<div>hey hey JOHN hey hey</div>

大佬总结

以上是大佬教程为你收集整理的jQuery:contains()选择器大写和小写字母的问题全部内容,希望文章能够帮你解决jQuery:contains()选择器大写和小写字母的问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。