更高效的使用JQuery 这里总结了8个小技巧


Posted in Javascript onApril 13, 2016

1、DOM遍历是昂贵的,将变量缓存起来。

//不推荐

var h = $('#ele').height();

$('#ele').css('height', h-20);
//推荐

var $ele = $('#ele');

var h = $ele.height();

$ele.css('height',h-20);

2、优化选择符。

//不推荐

$('div#myid')
//推荐

$('#myid')

3、避免隐式通用选择符。

//不推荐

$('.someclass :radio')
//推荐

$('.someclass input:radio')

4、避免通用选择符。

//不推荐

$('.container > *')
//推荐

$('.container').children()

5、尽可能保持代码简洁。

//不推荐

if(arr.length > 0){}

 
//推荐   

if(arr.length){}

6、尽可能地合并函数。

//不推荐

$f.on("click", function(){

    $(this).css('border','1px solid red');

    $(this).css('color','blue');

});
//推荐

$f.on("click", function(){

    $(this).css({

        'border':'1px solid red',

        'color': 'blue'

    });

});

7、尽可能使用链式操作。

//不推荐

$ele.html();

$ele.on("click",function(){});

$ele.fadeIn('slow');
//推荐

$ele.on("click",function(){

   

}).fadeIn('slow').animate({height:'12px'},500);

8、对DOM元素作大量操作,先分离在追加

//不推荐

var $container = $('#somecontainer');

var $ele = $container.first();

.......一系列复杂操作
 
//推荐

var $container = $('#somecontainer');

var $ele = $container.first().detach();

.......一系列复杂操作

$container.append($ele);
Javascript 相关文章推荐
JS高级笔记
Jul 13 Javascript
使用jquery动态加载javascript以减少服务器压力
Oct 29 Javascript
node.js正则表达式获取网页中所有链接的代码实例
Jun 03 Javascript
AngularJS中$interval的用法详解
Feb 02 Javascript
浅谈JS原生Ajax,GET和POST
Jun 08 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
Aug 29 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
Sep 01 Javascript
关于meta viewport中target-densitydpi属性详解(推荐)
Aug 18 Javascript
[js高手之路]单例模式实现模态框的示例
Sep 01 Javascript
微信小程序实现页面跳转传值的方法
Oct 12 Javascript
jQuery插件jsonview展示json数据
May 26 jQuery
浅谈Vue服务端渲染框架Nuxt的那些事
Dec 21 Javascript
深入理解关于javascript中apply()和call()方法的区别
Apr 12 #Javascript
javascript中去除数组重复元素的实现方法【实例】
Apr 12 #Javascript
Bootstrap每天必学之折叠
Apr 12 #Javascript
JavaScript几种数组去掉重复值的方法推荐
Apr 12 #Javascript
学习使用bootstrap基本控件(table、form、button)
Apr 12 #Javascript
如何高效率去掉js数组中的重复项
Apr 12 #Javascript
学习使用bootstrap3栅格系统
Apr 12 #Javascript
You might like
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
python批量下载图片的三种方法
2013/04/22 Python
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
python数据归一化及三种方法详解
2019/08/06 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
给老师的道歉信
2014/01/11 职场文书
品牌宣传方案
2014/03/21 职场文书
节水倡议书范文
2014/04/15 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
主持人开幕词
2015/01/29 职场文书
小学思想品德教学反思
2016/02/24 职场文书
快速学习Oracle触发器和游标
2021/06/30 Oracle