1.选择器Selector的使用
1)使用id定位性能最好

 
1.$("#id")

2)使用标签名定位,性能其次

 
1.$("p"),$("div"),$("input")

3)使用.class方法对于IE8或者更早版本来说性能很差

 
1.$(".class")

4)属性定位性能极差

 
1.$("[attribute=value]")
2.$(":hidden")

因此组合使用提高性能,减少对dom遍历

 
1.$("#gbdiv").find(":hidden")

2.链式调用

1)坏习惯

 
1.$("#gbdiv").hide();
2.$("#gbdiv").css("color", "#202020");
3.$("#gbdiv").show();

2)好习惯

 
1.$("#gbdiv").hide()
2.  .css("color", "#202020")
3.  .show()

好处在于你不用多次调用$("#gbdiv"),当然,如果你非要这样写,建议你考虑使用缓存方式

3.缓存

 
1.var
gbin1=$("#gbdiv");
2.gbin1.hide();
3.gbin1.css("color", "#202020");
4.gbin1.show();

4.循环语句

1)坏习惯

 
1.var
data = ["Saab","Volvo","BMW"];
2.$.each(data,
function(i, item){
3.  var newitem='<div>' + item + '</div>';
4.  $("#gbcontainer").append(newitem);  
5.});

以上代码中,我们将每一个新添加的tag都作为一个节点添加到容器ID中,实际上jQuery操作节点的成本也不低,更好的方式是尽可能的减少DOM操作

2)好习惯

 
1.var
data = ["Saab","Volvo","BMW"];
2.var
tmp = ''
3.$.each(data,
function(i, item){
4.    tmp +='<div>' + item + '</div>';
5.});
6.$("#gbcontainer").append(tmp);  

3)对于字符串特长的,字符串相加在IE6会有性能问题,那就如下

 
1.var
data = ["Saab","Volvo","BMW"];
2.var
tmp = []; 
3.$.each(data,
function(i, item){
4.    tmp.push('<div>' + item + '</div>')
5.});
6.$("#gbcontainer").append(tmp.join('\n'));  

5.事件代理

假如gbin1里有1000个div,添加click事件
1)坏习惯

 
1.$('#gbin1').find('div').click(function() {
2.    ......
3.});

你将绑定1000个事件

2)好习惯

 
1.$('#gbin1').on('click','div',function() {
2.    ......
3.});

使用.on方法,帮助你有效的优化性能:

[转]整理jquery使用好习惯的更多相关文章

  1. [转]整理jquery开发技巧

    1.创建一个嵌套的过滤器   1.$(jquery).filter(":not(:has(.selected))") //去掉所有不包含class为.selected的元素 2.使 ...

  2. 前端面试题整理—jQuery篇

    1.为什么使用jquery,他有哪些好处? 1)轻量级.代码简洁 2)强大的选择器,出色的DOM操作封装 3)有可靠的事件处理机制 4)浏览器兼容性好 5)支持链式操作 6)支持丰富的插件 2.jqu ...

  3. [整理] jQuery插件开发

    1.类级别的插件开发 类级别的插件开发,可似为给jQuery类添加方法,调用方式:$.你的方法(),如:$.ajax() 函数. 1.1.给jQuery类添加方法 $.alertMsg = funct ...

  4. jQuery选择器使用习惯

    http://www.cnblogs.com/fredlau/archive/2009/03/19/1416327.html

  5. jQuery整理笔记文件夹

    jQuery整理笔记文件夹 jQuery整理笔记一----jQuery開始 jQuery整理笔记二----jQuery选择器整理 jQuery整理笔记三----jQuery过滤函数 jQuery整理笔 ...

  6. 解析Jquery取得iframe中元素的几种方法

    iframe在复合文档中经常用到,利用jquery操作iframe可以大幅提高效率,这里收集一些基本操作,需要的朋友可以参考下   DOM方法:父窗口操作IFRAME:window.frames[&q ...

  7. jQuery 2.0.3 源码分析Sizzle引擎 - 高效查询

    为什么Sizzle很高效? 首先,从处理流程上理解,它总是先使用最高效的原生方法来做处理 HTML文档一共有这么四个API: getElementById 上下文只能是HTML文档 浏览器支持情况:I ...

  8. jQuery从无知到无所不知

    说明: 本文以读书笔记的方式整理jQuery的重要知识点,言简意赅,一语中的,删繁就简,引人入胜. 本文先对jQuery强大的功能作一系统的介绍,再详细整理jQuery的选择器.过滤器.DOM操作.事 ...

  9. 《锋利的Jquery第二版》读书笔记 第一章

    按照书本介绍顺序整理jquery库相关的语法.要点. window.onload与$(document).ready()功能类似,前者需要所有资源加载完毕,且不能同时编写多个:后者加载完DOM结构即执 ...

随机推荐

  1. List list = new ArrayList()

    方便以后扩展List是一个接口,而ArrayList 是一个类. ArrayList 继承并实现了List.List list = new ArrayList();这句创建了一个ArrayList的对 ...

  2. CodeForces 670D Magic Powder

    二分. 二分一下答案,然后验证一下. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cst ...

  3. CodeForces 708B Recover the String

    构造. 根据$a[0][0]$可以求得$0$的个数$p$,根据$a[1][1]$可以求得$1$的个数$q$. 如果找不到$p$或$q$,那么就无解. 每一个$0$放到序列中的任何一个位置,假设和前面的 ...

  4. laravel5 MAC is invalid

    如果本机的环境更换过,项目中用来加密Crypt组件中的参数会变更. 如果出现这个问题,得更换数据库中加密后的变量 stackoverflow上找到的解决方法都是 composer dump-autol ...

  5. #js#简单的在线计算器

    啊因为懒得去找素材了,所以做了一个仿win10计算器的灰白色计算器. 参考:http://www.html5tricks.com/jquery-calculator.html HTML源码: < ...

  6. 特性(Attributes)

    用以将元数据或声明信息与代码(程序集.类型.方法.属性等)相关联.特性与程序实体相关联后,即可在运行时用反射技术查询特性. 例如,在一个方法前标注[Obsolete]特性,则调用该方法时VS则会提示该 ...

  7. NOIP2015-普及组复赛-第一题-金币

    题目描述 Description 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天),每天收到两枚金币:之后三天(第四.五.六天),每天收到三枚金币:之后四天( ...

  8. rzsz的安装

    rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具优点:比ftp命令方便,而且服务器不用打开FTP服务. sz:将选定的文件发送(send)到本地机器rz:运行该命令 ...

  9. curl的简单使用步骤

    要使用cURL来发送url请求,具体步骤大体分为以下四步: 1.初始化2.设置请求选项3.执行一个cURL会话并且获取相关回复4.释放cURL句柄,关闭一个cURL会话 // 1. 初始化一个cURL ...

  10. java 基础知识2