对于不区分大小写的 jQuery :contains 选择器,有什么方法可以加快此解决方案的速度吗?

2024-04-19

I found 这个解决方案 https://stackoverflow.com/questions/187537/is-there-a-case-insensitive-jquery-contains-selector/783874#783874对于不区分大小写的 jQuery:containsStackOverflow 上的选择器。它工作得很好,但它是以性能为代价的。还有其他人觉得这个解决方案有点慢吗?

我正在使用:contains选择器来搜索表。用户在文本框中键入搜索字符串。对于每次击键,它都会在表中搜索该字符串,并通过:contains选择器。在实施不区分大小写的解决方案之前,这种搜索是快速而敏捷的。现在有了这个解决方案,每次击键后它都会锁定一小会儿。

关于如何加快这个解决方案的速度有什么想法吗?


我在Google上找到了另一种不区分大小写搜索的解决方案(参见埃里克·潘 http://ericphan.info/development/jquery-1-3-case-insensitive-contains/)与我最初使用的略有不同。

原来的:

return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase())>=0;

埃里克·范:

return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase())>=0;

比较两者,您可以看到 Eric Phan 的解决方案直接访问 DOM 属性并使用toLowerCase()代替toUpperCase()。后者并不重要,但前者真正提高了不区分大小写搜索的性能。只需更改原来的解决方案即可使用(a.textContent || a.innerText || "")代替jQuery(a).text()改变了一切!

现在我有点好奇,所以这是一个后续问题:这是怎么回事?jQuery.text()?为什么这么慢?我有我的假设,但我很想听听专家的意见。

最后,感谢所有回复的人。我感谢您的帮助。 =)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对于不区分大小写的 jQuery :contains 选择器,有什么方法可以加快此解决方案的速度吗? 的相关文章

  • 启用/禁用由用户输入确定的复选框

    我有一个简单的表单 用户可以在其中输入他的联系号码 如果联系号码以 07 开头 则该复选框已启用 其他我需要禁用它的复选框 我已经编写了一些代码 但我面临的问题是 当用户键入 01 时 它会被禁用 但如果他们继续在 01 之后添加任何其他数
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 如何用javascript正确读取php cookies

    考虑这个 php 和 javascript 代码 然后我在控制台中看到的是 utma 111872281 291759993 1444771465 1445374822 1445436904 4 utmz 111872281 1444771
  • 如何使用 javascript/jquery/AJAX 调用 Django REST API?

    我想使用 Javascript jQuery AJAX 在前端调用 Django Rest API 请求方法是 POST 但当我看到 API 调用它的调用 OPTIONS 方法时 所以 我开始了解access control allow o
  • 使用文件 API 将资源加载到 Three.js 中

    我想创建导入 3D 模型以在浏览器中查看的功能 方法是使用File API http www html5rocks com en tutorials file dndfiles Three js 加载器在我托管的文件上运行良好 我的理解是加
  • 如何更改自动完成中的结果过滤器?

    我不想进行字面匹配 而是想通过正则表达式选择结果 我可以覆盖自动完成的默认行为来完成此任务还是需要替代结构 有一个内置的方法可以做到这一点 只需提供一个函数source http jqueryui com demos autocomplet
  • 淘汰赛绑定,每个都可进行自定义

    我这里有一个情况 用于淘汰每个带有定制的绑定 这是我的代码 div div table tbody tr td td td td tr tbody table div div
  • 如何检测元素内容何时发生变化

    我正在寻找一种方法来监视元素内动态填充 无页面重新加载 内容 以便我可以将类添加到另一个元素 到目前为止我有这个 HTML div class message container div class messages error span
  • Jquery 在 DIV 中进行多重加载

    这是我的代码 right load textes html nicolas right load textes html antoine 问题是内容divantoine覆盖了右边div nicolas加载的内容div div right l
  • 如何使用 vanilla JS 实现可维护的反应式 UI

    今天我遇到了一个问题 可以通过使用像 Vue 这样的反应式和状态管理框架来轻松解决 遗憾的是 无法使用它 以下 简化 情况 链接到代码笔 https codepen io theiaz pen BazErKV 我们有一个服务器渲染的页面 其
  • 计算文本选择的 xy 位置

    我正在尝试使用 DOM 元素创建自己的文本选择 是的 我的意思是当您在此元素中选择文本时 您会在文本后面看到蓝色背景 这个想法是停止默认行为 蓝色 并使用我自己的元素来完成工作 方法是找到选择的 xy 位置 然后放置绝对定位的元素 我希望能
  • 禁用特定 div 上的 Tab 键

    我有以下结构 div div Some content div div Some content div div 我想 禁用 div2 上的 tab 键 我的意思是按下 tab 键时 div2 的元素不会获得焦点 有没有简单的方法可以使用
  • 从 DirectionsRenderer 中获取折线或标记的事件

    我正在使用 DirectionsService 和路线方法来生成 DirectionsResult 我还使用 DirectionsRenderer 对象来显示结果 因为它非常易于使用 我在检测 Directions changed 事件时没
  • Knockout.js 安全绑定

    我想使用带有淘汰赛的安全绑定 为此我使用敲除安全绑定 js https github com brianmhunt knockout secure binding 谁能解释一下为什么下面的代码不起作用 它会抛出一个错误 未捕获 淘汰 安全
  • php下拉菜单人口

    我正在尝试编写一个 php 脚本 该脚本将根据主下拉菜单的选择填充第二个下拉菜单 我想使用 jquery 来完成所有非页面刷新的事情 但我发现现有的所有东西都很难理解和修改 你知道有什么写得很好且易于理解的东西吗 或者可能是现有的教程 下面
  • 将 HTML 表格导出到 Excel

    我在 ASP NET MVC 视图页面上有 HTML 表 现在我必须将该表导出到 Excel 1 我使用部分视图 Inquiries ascx 来显示数据库中的表数据 使用LINQ to Entity 2 我还使用了 UITableFilt
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i
  • 将 RequireJS 与遗留代码结合使用

    我正在处理一个非常大的项目 该项目使用 包含带有脚本标记的 javascript 文件的旧版 JSP 页面 使用其他 javascript 模块而不使用 RequireJS 的骨干模型和视图 现在 我们希望开始将 RequireJS 与 j
  • 使用 JQuery 根据下拉列表选择的值显示/隐藏控件

    我正在尝试使用 JQuery 根据下拉菜单的选定索引显示 隐藏 div 标签 但它不起作用 任何帮助将不胜感激 Thanks

随机推荐

  • 重定向子进程标准输出

    我已经使用 test py 中的 Redir 类设置了标准输出重定向 如下 输出应在文本框中显示两个打印语句 但目前只有 Output1 被发送到文本框 Output2 在后面的控制台中打印 我想知道是否有办法重定向子进程的标准输出 我尝试
  • 启动套接字服务器会干扰 gRPC/http 客户端服务器通信 Golang

    我有一个很大程度上基于此的服务器tutorial https www golinuxcloud com go grpc crud api postgresql db 在我对其应用了额外的更改后 它工作得很好 但现在我想添加socket io
  • Java“重复局部变量” - 是在 Java 还是 Eclipse 中抛出错误?

    在下面的代码中 private static void example String inputString test switch inputString case test String outputString The string
  • 如何访问 Pyramid .ini 文件中的自定义部分?

    我目前正在为多种服务编写数据收集服务 可能有 5 个不同的 API 端点 具有不同的主机和端口号 我想为此创建一个设置文件 但认为 ini应该是一个更好的地方或者我是这么想的 我的development ini 看起来像这样 app mai
  • 如何让 Symfony 2 采用协议方案(http vs https)

    我有一个 Symfony 2 网站 在开发中运行在 HTTP 上 在生产中运行在 HTTPS 上 我注意到在生产中 Symfony 生成的 URL 仍然全部呈现为 HTTP 我怎么也可以 让框架采用当前提供网站的协议 可能是首选 或者 仅在
  • 如何检查视频文件是否大于2MB?

    假设我从 iPhone 库中获取了一个视频文件 我想检查视频文件不应大于 2MB 我无法使用 videoMaximumDuration 方法 因为如果任何视频是高清质量的 即使是 1 分钟持续时间的视频也可能会很大 有什么意见吗 urlvi
  • 为整个服务器/域强制使用 https

    我正在开发一些只能通过 https 访问的表单 我有一个专用服务器 有自己的证书和所有好东西 所以我的问题实际上有两个 1 强制每个请求都为 https 的最佳方法是什么 有没有比这个 htacess mod rewrite 规则更好的方法
  • Gmaps.js 停止工作

    从一天到另一天 Gmaps js 库停止工作 我创建了一张带有 3 个标记的地图 他们有 InfoWindows 我在 InfoWindow 中添加了一个小路由选项 您可以在其中输入您的地址中 Gmaps 将您引导至该点 现在 在过去两周内
  • __non_webpack_require__ 未定义

    我是 webpack 和 node 的新手 我想知道如何使用 non webpack require 功能 我去过webpack 的网站 https webpack js org api module variables non webpa
  • Azure 函数 python 命名参数没有值

    我目前正在 azure 函数中使用 python 创建一个计时器触发器 该触发器聚合来自 blob 存储的数据 并将结果放入 cosmosDB 中 我的问题如下 当我在绑定路径中使用特定文件时 函数按预期运行 每当我更改它 以便获取容器中的
  • 如何在 PHP 5.3+ 中的命名空间类内部使用全局命名空间类型提示?

    namespace MyClass Util class Sample public function each Object f 来自调用文件 未命名空间 sample new Sample sample gt each new stdC
  • 如何使用 mechanize 获取生成的验证码图像

    我正在尝试使用 python 和 mechanize 从我的移动提供商网站发送短信 问题是表单有验证码图像 使用 mechanize 我可以获取图像的链接 但每次访问该链接时它都是不同的 有什么办法可以从 mechanize 获得准确的图片
  • 执行某些命令(如“prune”)时,Wincred 无法与 Git Bash(Git for Windows)正常工作

    我已经在 Windows 7 64 位中很好地设置了 GitforWindows 并将凭据管理器设置为 Wincred 然而 当我运行一些命令时 比如git remote prune origin在 GitBash 中 尽管运行命令 但它在
  • 在 Power BI 自定义视觉对象中使用 d3.js 库绘制一条线

    我正在努力在 Power BI 自定义视觉对象中绘制一条单线 Power BI 中的报表是使用 TypeScript 和 d3 js v 3 0 编写的 我可以用轴绘制图表 但没有出现线条 在 HTML 文件中使用纯 d3 js 确实很容易
  • wxHTTP 和线程

    我在线程内使用 wxHTTP 时遇到一些问题 我创建了以下从 wxThread 派生的类来使用 wxHTTP class Thread public wxThread private wxHTTP get public Thread Thr
  • 在哪里设置服务引用上的 CookieContainer?

    例如 当将 WebService 引用添加到 NET 2 0 项目上的 ASMX 服务时 var objService new NameSpace groupservices 那里存在 objService CookieContainer
  • 不在办公室时进行源代码控制

    有时我不在办公室时会编写代码 我想在未连接到公司网络时继续使用源代码控制的好处 我理想的系统将允许我将修订签入笔记本电脑上的存储库 然后当我连接到公司网络时 该存储库将与我们的主 SVN 存储库同步 当与主存储库同步时 如果可以维护单独的签
  • 这是企图破坏我的 ASP.Net 站点的安全吗?

    我对 ASP NET 还很陌生 我最近在我的网站上设置了自动电子邮件 以通知我未处理的异常情况 就在几个小时前 3 分钟内出现了 10 个未处理的异常 并且所有堆栈跟踪都是相似的 错误消息中有很多我不明白的内容 但我不喜欢它的样子 以下是其
  • 在 Java 中存储 Enum 的顺序

    在java中 EnumSet使用位掩码 位向量存储它包含的项目long RegularEnumSet or long JumboEnumSet 我现在遇到了一个用例 其中我有数千个域对象 让我们称它们为Node 每个都将显示枚举的所有项目
  • 对于不区分大小写的 jQuery :contains 选择器,有什么方法可以加快此解决方案的速度吗?

    I found 这个解决方案 https stackoverflow com questions 187537 is there a case insensitive jquery contains selector 783874 7838