1、尽可能使用id选择器而不是类选择器

例如:

//html
<p id="chooseId">测试文本</p>
//jQuery
console.time("timer");
;i<;i++) {
    $("#chooseId").css("color","red");
}
console.timeEnd("timer");
//输出:timer: 59.244ms

//html
<p class="chooseClass">测试文本</p>
//jQuery
console.time("timer");
;i<;i++) {
    $(".chooseClass").css("color","red");
}
console.timeEnd("timer");
//输出:timer: 131.523ms

2、缓存jQuery查询

例如:

//jQuery
console.time("timer");
var $chooseId = $("#chooseId");
;i<;i++) {
    $chooseId.css("color","red");
}
console.timeEnd("timer");
//输出:timer: 33.429ms

//jQuery
console.time("timer");
var $chooseClass = $(".chooseClass");
;i<;i++) {
    $chooseClass.css("color","red");
}
console.timeEnd("timer");
//输出:timer: 33.750ms

3、尽量减少DOM操作的次数

例如:

//html
<div id="content"></div>
//jQuery
console.time("timer");
var $content = $("#content");
;i<;i++) {
    $content.append("<p>测试文本</p>");
}
console.timeEnd("timer");
//输出:timer: 381.649ms

//html
<div id="content"></div>
//jQuery
console.time("timer");
var $content = $("#content");
var items = "";
;i<;i++) {
    items += "<p>测试文本</p>";
}
$content.append(items);
console.timeEnd("timer");
//输出:timer: 56.195ms

//html
<div id="content"></div>
//jQuery
console.time("timer");
var $content = $("#content");
var items = "<div>";
;i<;i++) {
    items += "<p>测试文本</p>";
}
items += "</div>";
$content.append(items);
console.timeEnd("timer");
//输出:timer: 21.505ms

4、如果为同一个父元素下的多个子元素绑定了事件,尽量使用事件代理

例如:

//html
<ul id="list">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
//jQuery
$("#list").on("click",function(e) {
    var clicked = $(e.target);
    clicked.css("color","red");
})

使用jQuery的一些建议的更多相关文章

  1. jQuery效率提升建议

    jQuery简洁通用的方法集把编码者从繁重的工作中解脱出来,也拉低了进入javascript的门槛,初学者对浏览器兼容性一无所知的情况下,几行代码就可以写出超炫的特效.网上有一篇文章转载比较泛滥,已经 ...

  2. jQuery 效率提升建议

    jQuery简洁通用的方法集把编码者从繁重的工作中解脱出来,也拉低了进入javascript的门槛,初学者对浏览器兼容性一无所知的情况下,几行代码就可以写出超炫的特效.网上有一篇文章转载比较泛滥,已经 ...

  3. 编写更好的jQuery代码的建议

    讨论jQuery和javascript性能的文章并不罕见.然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码.好的代码会带来速度的提升.快速渲染 ...

  4. 编写更好的jQuery代码的建议(share)

    留个备份! 原文链接: Mathew Carella   翻译: 伯乐在线- yanhaijing译文链接: http://blog.jobbole.com/52770/ 讨论jQuery和javas ...

  5. jquery性能优化建议-上篇

    一.注意定义jQuery变量的时候添加var关键字这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下:$loading = $('#loading'); / ...

  6. Jquery学习笔记--性能优化建议

    一.选择器性能优化建议 1. 总是从#id选择器来继承 这是jQuery选择器的一条黄金法则.jQuery选择一个元素最快的方法就是用ID来选择了. 1 $('#content').hide(); 或 ...

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

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

  8. jquery优化28个建议

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

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

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

随机推荐

  1. AutoDesk Forge 获取令牌认证

    创建应用程序 在开始使用Forge Platform之前,您需要设置一个应用程序并获取您的客户端ID和密码. 步骤1:登录Dev Portal 去开发门户网站:https://developer.au ...

  2. 管理Mac的Python环境

    问题描述 我的Mac自带了版本为2.7.10的Python却没有用于管理依赖的pip工具.而我在使用刚开始学习Python时,从其官网下载了安装脚本安装了3.6版本的Python.脚本自动配置了环境变 ...

  3. BZOJ 2959: 长跑 [lct 双连通分量 并查集]

    2959: 长跑 题意:字词加入边,修改点权,询问两点间走一条路径的最大点权和.不一定是树 不是树

  4. wenpack-simple+elementUI配置

    首先跟着element官方文档走一遍 注意把.babelrc改成这样 { "presets": [ ["env", { "modules": ...

  5. 读论文系列:Object Detection SPP-net

    本文为您解读SPP-net: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition Motivat ...

  6. 一个Windows下线程池的实现(C++)

    前言 本文配套代码:https://github.com/TTGuoying/ThreadPool 先看看几个概念: 线程:进程中负责执行的执行单元.一个进程中至少有一个线程. 多线程:一个进程中有多 ...

  7. MySQL备份常用命令总结

    MySQL备份常用命令总结 1.数据库和数据全部备份 mysqldump -uroot -pPassword -hlocalhost databasename > test.sqlmysqldu ...

  8. MySQL中的内置系统函数

    一.字符串函数  1. CONCAT(S1,S2....SN): 把传入的参数连接成一个字符串  2. INSERT(str, x, y, insert): 将字符串 X位置开始,y个字符串长度替换为 ...

  9. CENTOS6.6下nmon的监控

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn Installing Nmon By default nmon is ...

  10. MySql主键自动生成,表、实体、C#调用方法

    1.表:mysql建表语句 DROP TABLE IF EXISTS `keycode`; CREATE TABLE `keycode` ( `Id` ) NOT NULL AUTO_INCREMEN ...