1、使用最佳选择器
通常比较常用的选择器有以下几个:
1.ID选择器 $("#id")
2.标签选择器 $("td")
3.类选择器 $(".target")
4.属性选择器 $("td[target='target']")
5.伪类选择器 $("td:hidden")
结论
1.原生方法是最快的方法,如果可能,尽量选择用原生
2.性能顺序:ID选择器 > 标签选择器 > 类选择器 > 属性选择器 > 伪类选择器
3.ID(getElementById)、标签选择器(getElementsByTagName)都有原生的方法对应,所以很快;类选择器在除了IE5-IE8之外的主流浏览器几乎都有原生方法(getElementsByClassName),为了兼顾IE6、7、8的性能,避免使用全局的类选择器;
4.属性和伪类选择器非常慢,如非必要,尽量少使用伪类选择器和属性选择器
最佳实践
1.为模块中操作最频繁的元素和根元素设置id,然后缓存;
2.对没有id的元素检索,尽量采用路径最短的祖先元素id作为默认的搜索范围,并采用纯类选择器或者标签选择器;
3.尽量避免复杂的选择器
2、父类查询子类 最佳模式:$parent.find('.child') 或者$('.child', $('#parent'))
最差模式:$('#parent .child') 或者 $('#parent > .child')
要在DOM元素中存储数据,使用$.data 要比 选择器.data 要快
var elem = $("#ajia");
$.data( elem[0],key,value ) > elem.data(key,value);
//这类写法亦可:$.data(
'#id'
,key,value);
原因:因为elem.data()方法是定义在jQuery函数的prototype对象上面的,而$.data()方法是定义jQuery函数上面的,调用的时候不从复杂的jQuery对象上调用,所以速度快得多
3、使用事件委托
给一个列表中所有元素添加点击事件,传统的做法是得到这个列表的JQuery对象:$("li"),然后添加click事件:
$("li").click(function(){})
这种方法的在列表数量比较大的时候会有严重的性能问题,应该值得关注。
可以使用JQuery的事件委托机制,能很大程度的降低添加事件监听的消耗和内存的消耗。
A:
var list=$("li");//length>1 list.click(function(){ })
B:
$("ul").delegate("li","click",function(){}) //或者1.7版本以后的 on 事件
结论
委托的性能优势是非常绝对的;
最佳实践
对于需要同时给两个以上的同类型元素添加事件时,用方案B来代替A
4、大循环采用更高效的遍历方式
JQuery提供了$.fn.each()和$.each()两个方法来实现对集合的遍历,除此之外,还可以采用JS原生的for循环、while等来实现迭代:
var list=ul.find("li");
A:
var i=list.length;
while(i--){
e=$(list[i])
}
B:
list.each(function(){
e=$(this);
});
C:
$.each(list,function(){
e=$(this);
});
结论
总体上来说A>C>B
最佳实践
追求极致性能,用原生方法;
循环数量少的话,建议使用$.each(),比较稳定;
相关推荐
在开发过程中,为了优化性能,开发者可能使用了一些jQuery的优化技巧,比如使用ID选择器而不是类选择器,减少DOM操作的频率,以及使用事件委托来处理大量的事件绑定等。同时,代码结构的清晰性和可维护性也是衡量...
"jQuery在线考试答题代码"是利用jQuery技术实现的一种在线考试系统,旨在提供用户友好的界面和流畅的用户体验,让学生或考生能够方便地进行线上答题。 这个系统包含了多种题型,如单项选择题、多项选择题、判断题、...
为了更好地理解并运用这个代码,你需要具备基本的HTML、CSS和jQuery知识。HTML用于构建页面结构,CSS用于美化页面,而jQuery则用于增强页面交互性。如果你不熟悉这些技术,建议先学习它们的基础知识,然后再尝试理解...
这个"jQuery模拟select下拉框三级城市联动代码.zip"压缩包提供的就是一个使用jQuery库来实现这种效果的示例。这里我们将深入探讨相关知识点。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件...
通过以上知识点的解释,我们可以看到“猎豹jQuery全屏焦点图代码,兼容主流浏览器”是一个涵盖了前端基础、JavaScript高级特性和用户体验优化的综合项目,对于前端开发者来说是一个很好的学习和实践案例。
具体来说,jQuery攻略源代码可能包含以下知识点: 1. **选择器**: 学习如何使用jQuery选择器精准定位HTML元素,如ID选择器、类选择器、属性选择器等,以及如何组合使用它们。 2. **DOM操作**: 包括元素的添加、...
本篇文章将深入探讨jQuery在线客服代码的核心原理、实现方式以及如何根据需求调整皮肤风格。 **一、jQuery简介** jQuery是由John Resig于2006年创建的一个JavaScript库,它简化了HTML文档遍历、事件处理、动画和...
其次详细讲解了jQuery的各种选择器、jQuery操作DOM的方法、jQuery中的事件与应用、jQuery中的动画和特效、Ajax在jQuery中的应用,以及各种常用的jQuery插件的使用方法和技巧...
10. **版本兼容性**:jQuery有良好的浏览器兼容性,特别是对于老版本的IE,但随着现代浏览器的普及,推荐使用最新版本以利用最新的性能优化和API。 通过阅读“超实用的jQuery代码段.pdf”,你将能掌握这些基础和...
"Jquery图片切换代码"是一个基于jQuery实现的图片轮播或切换效果的解决方案,尤其考虑到它能兼容IE和火狐浏览器,这意味着它在处理不同浏览器之间的差异性上做了优化。 首先,jQuery图片切换功能的核心在于通过事件...
**jQuery程序代码包... jQuery基础知识 jQuery的核心理念是"Write Less, Do More",它通过简洁的API让JavaScript编程变得更加简单。要开始使用jQuery,首先需要在页面中引入jQuery库,通常通过以下方式: ```html ...
网页模板——基于jQuery实现自动生成...它涉及到的知识点包括:jQuery库的使用、DOM操作、事件处理、CSS样式定制以及可能的性能优化策略。对于开发涉及大量代码展示的Web应用来说,这是一个值得参考和借鉴的实践案例。
在这款代码中,主要涉及以下jQuery知识点: 1. **事件绑定**:jQuery提供了便捷的方式来绑定和处理用户交互事件,如点击事件(`click`)。砸金蛋抽奖通常会监听用户的点击动作,当用户点击金蛋时触发抽奖逻辑。 2....
通过实例解析,你可以了解如何利用jQuery来快速实现网页动态效果,提高用户体验,同时学习如何优化代码,确保页面性能。 源代码部分提供了书中各个章节实例的实践代码,这有助于读者动手操作,加深理解。这些代码...
9. **版本差异(Version Differences)**:代码集可能包含不同版本的jQuery实例,可以对比学习各版本之间的变化和优化。 10. **实践应用(Practical Applications)**:通过实际案例,如导航栏的动态效果、图片轮播...
在本文中,我们将深入探讨如何使用jQuery实现微信在线支付功能,以及这个过程涉及的关键知识点。首先,我们需要了解jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理、动画设计和Ajax交互,使得开发者能...
本篇将围绕一个基于jQuery实现的“砸金蛋”抽奖代码进行深入探讨。 jQuery,作为一款强大的JavaScript库,以其简洁的API和丰富的功能,简化了DOM操作,使得动态效果的实现变得更为容易。在"jQuery砸金蛋抽奖代码....
以下是对"jquery换一批代码"这个知识点的详细说明: **一、jQuery简介** jQuery是由John Resig于2006年创建的一个JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务。jQuery的核心特性包括...
下面我们将详细探讨这个jQuery代码实现的几个关键知识点: 1. **选择器与DOM操作**:jQuery提供了丰富的选择器,如ID选择器(#),类选择器(.), 元素选择器(例如div)等,用于选取HTML元素。在这个代码中,可能会用到...
该代码主要涉及以下jQuery知识点: 1. **选择器(Selectors)**:jQuery提供了丰富的选择器,如ID选择器("#id")、类选择器(".class")等,用于选取DOM元素。在这个项目中,很可能用到了类选择器来选取投票项,例如`....