JQuery Tips(4)----一些关于提高JQuery性能的Tips

发布时间:2026/7/11 15:18:18

JQuery Tips(4)----一些关于提高JQuery性能的Tips
在选择时最好以ID选择符作为开头我想这个很好理解因为JQuery内部使用document.getElementByID方法进行ID选择这种方法比其他所有对DOM选择的方法更快所以以$(#)开头是最好的,比如:div ida div classb div classc div classd/div /div /div /div script typetext/javascript $(.b .c .d)//slow one $(#a .b .c .d)//fast one /script提供$()的上下文在使用$()选择页面元素时提供选择的范围可以减少选择的时间换句话说让选择器只在页面的一小片范围内筛选而不是整个页面当然会减少筛选时间通过在$()函数内提供第二个参数作为上下文可以实现这一点div idtest div classinnerhi/div /div script typetext/javascript alert($(.inner, document.getElementById(test)).text());//increase the speed by provide context alert($(.inner).text());//traverse all the element so that is slower than above /script当然在jquery定义(或者js函数)事件内,可以通过this来指代上下文:div idtest div classinnerhi/div /div script typetext/javascript $(#test).click(function() { var text $(.inner, this).text(); //this means $(#test) alert(text);//alert hi }); /script当然上面的例子也可以写成下面两种方式div idtest div classinnerhi/div /div script typetext/javascript alert($(#test .inner).text()); //method 1 alert($(#test).find(.inner).text());//method 2 and it was best one /script其中利用find方法是所有方法中效率最高的当然如果你是通过id选择符也就是$(#..)来选择不需要提供上下文参数.这对速度没有影响将经常用的JQuery包装好的元素进行保存如题这点比较重要因为使用$()对页面元素进行选择是需要耗费时间的.而保存为变量进行使用时可以避免这种浪费比如ul lione/li litwo/li lithree/li lifour/li lifive/li /ul script typetext/javascript for (i 0; i $(ul li).length; i) {//very bad,select $(ul li) so many times,waste a lot of time alert($(ul li)[i].innerHTML);//same here,very bad } var $li $(ul li); for (i 0; i $li.length; i) {//good one,only selct $(ul li) once alert($li[i].innerHTML); //same here,good } /script从代码可以看到避免多次重复选择可以提高性能:-)尽量少用选择符JQuery的选择器是面向数组的所以在条件允许的情况下尽量少用选择器比如div idDiv0/div div idDiv1/div div idDiv2/div script typetext/javascript $(#Div0).slideDown(slow); $(#Div1).slideDown(slow); $(#Div2).slideDown(slow);//slow $(Div0,Div1,Div2).slideDown(slow);//fast /script可以看出使用选择器并用逗号将被选择的元素分开并选择多个元素不仅让代码更加简洁并且通过减少创建JQuery的实例所以在性能上也稍胜一筹!在循环次数很多时避免使用$().each,而使用for循环使用$().each方法让在进行循环时会让编程更加轻松少量的循环在使用$().each时对性能的影响可以忽略不计但是当这个数字很大的时候对性能的影响便开始变得可观了.这个数字我查了下资料据说是1000以下可以使用$().each方法而这个数字如果继续增加则应该使用for循环语句。

相关新闻

尽量减少对DOM的操作

尽量减少对DOM的操作

2026/7/11 13:03:47

在页面中对DOM操作是比较消耗的&#xff08;比如在页面插入或删除一段文字&#xff09;&#xff0c;把这个改动降至最小是保持性能的最佳实践&#xff01;比如&#xff1a;<ul id"test"></ul><script type"text/javascript">var $list …

从零搭建一个单节点 K8S 可观测实验室(一):从 Ubuntu 24.04 开始

从零搭建一个单节点 K8S 可观测实验室(一):从 Ubuntu 24.04 开始

2026/7/10 16:40:27

最近准备把前段时间自己搭过的一套环境整理成系列文章&#xff1a;从零搭建一个单节点 K8S 可观测实验室。这个系列不是为了搭一个生产级 Kubernetes 集群&#xff0c;也不是为了追求复杂架构&#xff0c;而是想从一台普通的本地虚拟机开始&#xff0c;逐步搭出一个可以长期使用…

优化Java应用性能的五个实战技巧

优化Java应用性能的五个实战技巧

2026/7/11 17:49:35

性能优化是工程实践&#xff0c;不是玄学当你盯着VisualVM里那条几乎垂直上升的CPU曲线&#xff0c;或者GC日志里频繁出现的Full GC字样时&#xff0c;总希望有一种能一键解决所有问题的银弹。可惜&#xff0c;Java性能优化从来不是靠某个参数或某个框架就能搞定的。它是一场需…

Python中with open:不关文件?等着被OSError暴揍吧

Python中with open:不关文件?等着被OSError暴揍吧

2026/7/12 2:53:48

open() 函数内置函数使用来打开一个文件的open()函数, 会返回文件对象, 在对文件展开处理进程当中都得用到这个函数, 要是该文件没能成功被打开, 便会抛出。留意, 运用 open() 函数时, 务必要确保将文件对象关闭, 也就是要调用 close() 函数。open()函数, 其常用形式为, 接收两…

北京Java周末班,钱烧了却没学到东西?别让暑假变成‘废铁’锻造厂

北京Java周末班,钱烧了却没学到东西?别让暑假变成‘废铁’锻造厂

2026/7/12 2:53:48

针对Java学习者而言, 参与一门出色的Java培训班, 能够迅速提升技能以及水平。暑假阶段是诸多学生学习Java的良好时机, 那么北京暑假Java培训班收费若何呢?本文会从几个层面来剖析影响北京暑假Java培训班收费的因素, 并给出一些小编的建议。1. 授课同学的水平和经验影响收费的一…

CTF Web 源码审计 5 步法:从备份文件泄露到 Flag 构造实战

CTF Web 源码审计 5 步法:从备份文件泄露到 Flag 构造实战

2026/7/12 2:53:48

CTF Web 源码审计 5 步法&#xff1a;从备份文件泄露到 Flag 构造实战在CTF竞赛中&#xff0c;Web类题目往往是最容易上手但也最考验综合能力的赛道。不同于二进制逆向或密码学需要深厚的理论基础&#xff0c;Web安全更注重实战中的漏洞嗅觉和快速验证能力。本文将系统化拆解一…

Java扛不住?Oracle临时表这招绝了,事务级瞬清数据

Java扛不住?Oracle临时表这招绝了,事务级瞬清数据

2026/7/12 2:53:48

在或以上版本中&#xff0c;可以创建以下两种临时表&#xff1a; 1。会话特有的临时表 ( )ON ROWS&#xff1b; 2。事务特有的临时表 ( )ON ROWS&#xff1b;TABLE 临时表是所建, 但它虽确实存在着, 然而你去尝试选一条记录, 之后用别的连接登录上去, 会发现记录却是空的,…

AC Recovery 功能深度解析:Power On/Off/Last State 3种模式的适用场景与风险

AC Recovery 功能深度解析:Power On/Off/Last State 3种模式的适用场景与风险

2026/7/12 2:53:48

AC Recovery功能深度解析&#xff1a;Power On/Off/Last State三种模式的适用场景与风险当数据中心遭遇突发断电&#xff0c;或是智能家居设备因电力波动离线&#xff0c;系统能否在供电恢复时自动唤醒&#xff0c;往往决定着业务连续性。AC Recovery&#xff08;交流电源恢复&…

企业级AI应用必须启用的深度思考开关——DeepSeek v3.2.1新增mode=“think_deep”参数深度解读(仅限首批认证伙伴开放)

企业级AI应用必须启用的深度思考开关——DeepSeek v3.2.1新增mode=“think_deep”参数深度解读(仅限首批认证伙伴开放)

2026/7/12 2:43:48

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;企业级AI应用必须启用的深度思考开关——DeepSeek v3.2.1新增mode“think_deep”参数深度解读&#xff08;仅限首批认证伙伴开放&#xff09; 核心能力定位 mode"think_deep" 并非简单提升…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析&#xff1a;XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南&#xff1a;为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战&#xff1a;基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载&#xff1a;…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析&#xff1a;XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南&#xff1a;为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战&#xff1a;基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载&#xff1a;…