是否有不区分大小写的:contains jQuery Select 器版本,或者我应该通过在所有元素上循环并比较它们的大小写来手动完成这项工作.text()到我的字符串?

推荐答案

What I ended up doing for jQuery 1.2 is :

jQuery.extend(
    jQuery.expr[':'], { 
        Contains : "jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0" 
});

This will extend jquery to have a :Contains selector that is case insensitive, the :contains selector remains unchanged.

编辑:对于jQuery 1.3(谢谢@user95227)和更高版本,您需要

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

编辑:

(a.textContent || a.innerText || "") 

instead of

jQuery(a).text()

In the previous expression speeds it up considerably so try at your own risk if speed is an issue. (see @John 's question)

Latest edit: For jQuery 1.8 it should be:

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

Jquery相关问答推荐

通过 Ajax POST 将按钮值从 HTML 发送到 Flask 时出现空数据

使用 shell 脚本判断 json 数组响应是否具有特定用户名和状态的 jq 命令

Jquery 表数据无法在 html 上正确显示

如何在没有实体框架的情况下在 ASP.NET 上使用 ajax 和 jquery 从列表创建数据表

jQuery .first() 方法返回第一个元素的集合

如何在外部JS文件中使用带有参数的laravel路由

使用 Bootstrap 3 下拉菜单作为上下文菜单

JQuery:$.get 不是函数

为什么在 jQuery 插件中返回 this.each(function())?

清除并刷新 jQuery Chosen 下拉列表

使用跨域帖子发送凭据?

在不丢失光标位置的情况下更新输入值

jQuery:如何从 $.ajax.error 方法中获取 HTTP 状态代码?

是否可以在 beforeunload 弹出窗口中显示自定义消息?

jquery: $(window).scrollTop() 但没有 $(window).scrollBottom()

如何使用 JQuery 获取 GET 和 POST 变量?

如何使用 jQuery 删除 cookie?

jQuery : eq() 与 get()

jquery - 从一个非常大的表中删除所有行的最快方法

添加到数组 jQuery