当前位置: 首页 > 面试题库 >

是否存在不区分大小写的jQuery:包含选择器?

沈琛
2023-03-14
问题内容

是否存在不区分大小写的:包含jQuery选择器的版本,还是应该通过循环所有元素并将它们的.text()与我的字符串进行比较来手动完成工作?


问题答案:

我最终为jQuery 1.2做的是:

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

这将扩展jquery以使其不区分大小写的:Contains选择器,:contains选择器保持不变。

编辑:对于jQuery 1.3和更高版本,您需要

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

编辑:显然通过使用直接访问DOM

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

代替

jQuery(a).text()

在前面的表达式中,它大大提高了速度,因此如果速度有问题,请您自担风险。
最新编辑:对于jQuery 1.8,应为:

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


 类似资料:
  • 问题内容: 我有以下内容: 我喜欢做的事情就是让不区分大小写,因此,它可以是,等,仍然匹配。 有没有办法说必须不区分大小写? 问题答案: 在之后添加。此方法将字符串转换为小写字符串。然后,使用using 代替。 使用正则表达式也可以实现相同的目的(在要针对动态模式进行测试时特别有用):

  • 问题内容: 谁能告诉我默认情况下MySQL 查询是否区分大小写?如果没有,我将要发送什么查询,以便执行以下操作: 实际上,的真正价值是。 问题答案: 除非您进行二进制比较,否则它们 不区分大小写 。

  • 问题内容: 我到处都读到CSS不区分大小写,但是我有这个选择器 当我像这样在HTML中使用时,它会被拾取 如果我这样改变上面的选择器 这样就不会拾取样式。 问题答案: CSS选择器通常不区分大小写;这包括类和ID选择器。 但是HTML类名 _是_区分大小写的(见属性定义),这就是导致你的第二个例子不匹配。HTML5中没有更改。1个 这是因为选择器的区分大小写取决于文档语言的含义: 在ASCII范围

  • 问题内容: 我最近正在更新CMS网站,并且标签导航插件已插入以下标记: 我一直以小写形式编写CSS选择器,因此当我尝试使用设置样式时,它将不适用,但可以使用。 这些年来,令我感到惊讶的是,我之前从未遇到过这种情况,因此,我一直给人以CSS不区分大小写的印象。CSS始终区分大小写吗,由于我始终如一的代码风格,我只是没有注意到它? 问题答案: CSS本身不区分大小写,但是HTML(类和id)的选择器区

  • 问题内容: HTML是否区分大小写? 在一个示例中,我正在使用它说: 还是会有所不同(或根本没有)? 问题答案: 否,但是将HTML标记保持小写被认为是一种好习惯。

  • 问题内容: 在不区分大小写的情况下,如何使用.contains方法搜索ArrayList?我试过了.containsIgnoreCase,但是发现IgnoreCase方法仅适用于字符串。 这是我尝试创建的方法: 问题答案: 您将需要遍历列表并检查每个元素。这就是方法中正在发生的事情。由于您要对要检查的String元素使用方法而不是方法,因此需要显式地进行操作。既可以使用for- each循环,也可