核心提示:第十一章 jQuery的性能优化和技巧1、使用id定位DOM是最佳提高性能的方式,将id与find相结合;2、使用类定位性能不佳,使用属性选择器([attribute=value])、伪选择器((:s...
第十一章 jQuery的性能优化和技巧
1、使用id定位DOM是最佳提高性能的方式,将id与find相结合;
2、使用类定位性能不佳,使用属性选择器
3、将重复使用的选择器对象缓存到变量中调用,如果多个对象使用同一个缓存对象,将此对象缓存到全局对象中:
$(function(){ var my={ title:$("head"), changeColorID:$("#id") } $("#btn").click(funciton(){ my.title.csss("background","red") }) });
4、减少循环中对DOM的操作次数,在向DOM插入字符串的循环时,现将字符串通过循环拼接好,然后一次性插入DOM中;
5、从性能角度考虑,用for或while循环代替.each();
6、使用length检查jq对象是否存在,因为$(“”)对象永远都是ture;
7、$(“ul li”).click(),如果li由100个子元素的li,那么久绑定了100个事件,为了优化性能,应该将事件绑定到父元素,通过时间冒泡和e.target捕捉触发的目标元素,下面的两种方式都是可行的:
$("ul").click(function(e){ var $a= $(e.target);//e.target捕捉触发事件的元素 //对触发事件的元素操作 })
$("ul").on(click,"li",function(){ //对li操作 })
8、将常用的函数封装成插件:
//使用$.extend封装全局函数 (function($){ $.extend({ functionA:function(value){ //编写函数A } functionB:function(value){ //编写函数B } }) })(jQuery)
//使用$.fn.extend封装对象方法 (function($){ $.fn.extend({ "color":function(value){ //编写代码 return this//返回this,使方法可链 } }) })(jQuery)
9、在小数据量的字符串接连操作时,”+=”和”array.join”的性能相差无几,在操作大数据量的字符串连接时(>= 10000),使用”array.join”的性能优势遍体现出来了。