jquery性能优化
来源:互联网 发布:淘宝女式皮鞋特价 编辑:程序博客网 时间:2024/06/16 22:09
1.选择器的选择
id选择器性能最优,其次是标签选择器,再次是class选择器,最后是属性选择器$("#id")>$("p")>$(".class")>$("[attribute=value]")
2.缓存jquery对象
var $active_light = $("#trafic_light input");//缓存变量$active_light.bind("click",function(){});$active_light.css("border","1px dashed yellow");//添加链式语法简化代码$active_light.bind().css().fadeIn();
3.打算在其他变量中使用jquery对象,缓存到全局对象中去
window.$my={ head:$("head"), traffic_light:$("#traffic_light"), traffix_button:$("#trafic_button")};$my.head.append("script");
4.遍历dom元素时候 减少对于dom节点的删除和修改 提升性能
var list =[],$mylist = $("#mylist"),li="";for(var i =0;i < list.length;i++){ li +="<li>"+i+"</li>"}$mylist.html(li);
5.使用for循环或者while循环代替$.each() 性能方面
var array = new Array();for(var i = 0;i <array.length;i++){ array[i]=i;}
6.使用事件代理 来提升事件性能
$('#myTable').on('click','td',function(){ $(this).css('background','red');});
7.自定义插件复用代码
(function($){ $.fn.yourPluginName = function(){ //添加自己的代码 return this; }})(jQuery);
8 使用join来拼接字符串
var array = new Array();for(var i = 0;i <10;i++){ array[i]=i;}$("#list").html(array.join(''));
9合理利用html的data属性 可以帮助我们插入数据 特别是前后端的数据交换
<div id="d1" data-role="page" data-last-value="43" data-options='{"name":"John"}'></div>$("#d1").data("role");$("#d1").data("lastValue");#("#d1").data("options").name;
10.尽量使用原生的js方法减少函数的调用
比如 var $cr = $("#cr"); $cr.is(":checked");var cr = $("#cr").get(0); cr.checked$(this).css("color","red");this.style.color="red";
11.压缩js代码
提供完整版+压缩版
使用Gzip压缩,去除js代码的注释,空白,并且压缩变量长度
阅读全文
0 0
- jQuery性能优化指南
- jQuery性能优化
- jQuery性能优化指南
- jQuery性能优化指南
- jquery性能优化(1)
- jquery性能优化(2)
- jquery性能优化(3)
- jQuery性能优化指南
- jQuery性能优化指南
- jQuery性能优化指南
- jQuery性能优化指南
- jQuery性能优化指南
- jQuery性能优化指南
- jQuery性能优化指南
- jQuery性能优化指南
- jQuery性能优化指南
- jQuery性能优化指南
- jQuery性能优化
- 2017上海ACM ECL-final 总结
- Windows7操作系统的安装
- MATLAB图像旋转源代码
- 栈(先进后出)
- 关于centOS6.5安装问题
- jquery性能优化
- Codeforces Round #452 (Div. 2) B. Months and Years
- HDOJ 1004 Let the Balloon Rise 让气球升起来
- Ajax文件上传
- ASP.net利用DotNetZip压缩文件,用流输出文件细节
- SSL P2325 最小转弯问题 题目
- Hibernate_基本配置
- java--jvm--内存管理
- 2017/12/18 钉钉开放API调用