jQuery的性能优化可以从以下几个方面入手:
1. 选择器的性能优化
2. DOM节点操作的优化
3. Event事件的优化
4. jQuery的测试方面
首先,对于选择器的性能优化:
1. 从id选择器开始继承;
$("#id");
$("#id input");
id选择是 jQuery选择元素最快的方法!可以从id选择器继承来选择多个元素。所以:
2. 尽量使用id代替class;
3. 在class前使用tag(标签名);
<div class="content">
<ul>
<li>hello</li>
</ul>
</div>
<div>
<ul>
<li>welcome</li>
</ul>
</div>
$(".content ul li").show();
若想找找到hello,就可以在li元素之前加上前缀,它的父元素是ul,再往上就是calss属性, 先获取class属性,再找到父级元素,一级一级的找下来,这样选择器就可以直接在dom中查找到hello,不用把整个代码都执行一遍,极大的节省了时间,提高了运行的效率。
以上也可以看出,优化中的另一种方法,即:
4. 给选择器一个上下文;
5. 子选择器和后代选择器:后代选择器获取的是元素内部的所有元素,如果只需获取子元素,那么就应该选择子选择 器;
$("#div>p").show();
DOM操作的优化就是:
1. 将jQuery对象缓存起来;
var header = $("#header");
获取header节点,把它存放在变量header 当中,以后使用的时候直接调用变量header即可,不用每次使用时都去获取节点,减少了时间,提高了速率。
2. 对直接的DOM操作进行限制;
它的基本思想是在内存中建立你想要的东西,然后更新dom。
3. 冒泡
如果需要给多个元素调用同一个函数,那么每一个js都会冒泡到父级节点这种方法是非常有用的。
4. 使用链式操作
参看jQuery链式操作。
Event事件的优化 :
1. 推迟到$(window).load;
2. 慎重使用.live()方法(尽量不要使用,因为比较占用资源);
3. 使用data()方法存储临时变量;
jQuery的测试方面:
1. jQuery代码的标准化;
2. jQuery的单元测试;
除了以上的几种方法之外,还有另外的方法:
1. 压缩javascript;
2. 使用新版本的 jQuery;
3. 简化代码等。
随着jQuery应用程序的逐渐增多,性能优化也越来越受重视,当然方法也是越来越多,这就需要我们在以后使用的过程中来发现!