原文地址:jQuery 性能优化技巧

博客地址:http://www.extlight.com

一、使用最新版本 jQuery 类库

二、合理使用选择器

# 推荐使用
$("#id") # 可以使用
$("p"),$("span") # 可以使用
$(".class") # 尽量避免
$("[attribute=value]") # 尽量避免
$(":hidden")

三、使用缓存对象

场景:修改某个按钮的文本和颜色

# 不好的写法

$("#btn").text("重置");

$("#btn").css("color","red");

# 优化的写法

var $btn = $("#btn");

$btn.text("重置").css("color","red");

四、循环时减少对DOM的操作

场景:往 <ul> 中添加 <li> 菜单项

# 不好的写法

var $ul = $("#menu");

for(var i=0; i<6; i++) {
$ul.append("<li>菜单"+i+"</li>")
}
# 优化的写法

var $ul = $("#menu");
var html = ""; for(var i=0; i<6; i++) {
html += "<li>菜单"+i+"</li>";
} $ul.append(html);

五、使用事件代理

场景:给 <ul> 里的所有 <li> 绑定点击变色事件

# 不好的写法

$("ul li").on("click",function() {
$(this).css("color","red");
});
# 优化的写法

$("ul li").on("click",function(e) {
var $obj = $(e.target);
$obj.css("color","red");
});

六、将代码转成 jQuery 插件

七、使用 join() 拼接字符串

第四点的案例中,代码还可以进行优化

var $ul = $("#menu");
var arr = []; for(var i=0; i<6; i++) {
arr.push("<li>菜单"+i+"</li>");
} $ul.append(arr.join("");

八、合理利用 HTML5 的 data 属性

使用 data-* 属性来嵌入自定义数据。

<div id="user" data-age="26" data-gender="男">张三</div>


var user = $("#user"); var age = user.data("age");
var gender = $("#user").data("gender");

九、尽量使用原生的 JS 方法

第五点的案例中,可以如下优化

$("ul li").on("click",function(e) {
var $obj = $(e.target);
$obj.get(0).style.color = "red";
});

十、压缩 JS 代码

如有更多优化技巧,后续补充......

jQuery 性能优化技巧的更多相关文章

  1. jQuery性能优化和技巧

    jQuery性能优化 ①使用最新版本的jQuery类库 ②使用合适的选择器 ③缓存对象 ④循环时的DOM操作 ⑤数组方式使用jQuery对象 ⑥事件代理 ⑦将你的代码转化成jQuery插件 ⑧使用jo ...

  2. jQuery性能优化的28个建议

    我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来.我也做了一个jQuery性能优化的简明样式表,你可 ...

  3. jQuery:jQuery性能优化28条建议

    http://www.xue5.com/WebDev/jQuery/671700.html 直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将 ...

  4. 28个jQuery性能优化的建议

    我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些.找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来.我也做了一个jQuery性能优化的简明样式表,你可 ...

  5. Java程序性能优化技巧

    Java程序性能优化技巧 多线程.集合.网络编程.内存优化.缓冲..spring.设计模式.软件工程.编程思想 1.生成对象时,合理分配空间和大小new ArrayList(100); 2.优化for ...

  6. Python代码性能优化技巧

    摘要:代码优化能够让程序运行更快,可以提高程序的执行效率等,对于一名软件开发人员来说,如何优化代码,从哪里入手进行优化?这些都是他们十分关心的问题.本文着重讲了如何优化Python代码,看完一定会让你 ...

  7. jQuery性能优化指南(转载)

    现在jquery应用的越来越多, 有些同学在享受爽快淋漓coding时就将性能问题忽略了, 比如我. jquery虽在诸多的js类库中性能表现还算优秀, 但毕竟不是在用原生的javascript开发, ...

  8. Python 代码性能优化技巧(转)

    原文:Python 代码性能优化技巧 Python 代码优化常见技巧 代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构.优化. ...

  9. Python 代码性能优化技巧

    选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 python 作为脚本的一个不足之处,那就是执行效率和性能不够理想,特别是在 performance 较差的机器上,因此有必要进行一定的代码优化 ...

随机推荐

  1. Pytorch CNN的各种参数

    class Model(torch.nn.Module): def __init__(self): super(Model, self).__init__() self.conv1 = torch.n ...

  2. Symmetrical Network Acceleration with EBS 12

    Andy Tremayne, my esteemed colleague and fellow blogger, has published a new whitepaper that discuss ...

  3. 从HDC转换到leptonica PIX

    void CAssistDlg::OnBnClickedTest() { HDC hdc = ::GetDC(NULL); HDC hdcMem = CreateCompatibleDC(hdc); ...

  4. nfs的简单搭建与原理

    nfs最大的缺点是单点,只能一对一nfs统称存储服务器,放视频图片之类的东西,所以服务器的容量很大数字都是放在数据库里边的, nfs的挂载原理 客户端怎么知道服务端的开启端口? 找rpcbind,再启 ...

  5. SCM-MANAGER-禁用用户

    用管理远用户登录到scm-manager的管理界面http://*.*.*.*:8081/ 设置目标用户为禁用 验证 非 “active” 状态 目标用户客户端不能pull 一直提示登录

  6. 【Html 学习笔记】第五节——表格

    表格也是日常用到的. 普通表格:<table> 表格边框:border 表头:th 表格标题:caption 横/纵向合并的单元格:colspan .rawspan 表格内标签: 单元格间 ...

  7. vue项目使用vux框架配置教程

    吐槽下,这个vux配置教程那..写的实在是坑,也不搞个示例代码...想上天吗???? 正常安装的话...100%报错...以下是正确配置 1.项目里安装vux   npm install vux -- ...

  8. Shell学习笔记——算数运算与条件测试

    算数运算 1. 使用let命令 #!/sbin/bash var1=2 var2=3 let sum=var1+var2 echo $sum 使用let命令式,变量前不需要加$号 只用于整数运算,不适 ...

  9. python 两种导入的区别

    参考文献: 法1:import module1 使用:这样你调用时就得:module1.funct(),funct2(),... 法2:from module1 import funct() 使用就直 ...

  10. 启动和连接MySQL服务

    1.服务端启动 1.查看MySQL状态 sudo /etc/init.d/mysql status sudo /etc/init.d/mysql start | stop | restart sudo ...