更高效的使用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 相关文章推荐
javascript radio 联动效果
Mar 04 Javascript
B/S模式项目中常用的javascript汇总
Dec 17 Javascript
在linux中使用包管理器安装node.js
Mar 13 Javascript
js判断子窗体是否关闭的方法
Aug 11 Javascript
AngularJS使用指令增强标准表单元素功能
Jul 01 Javascript
js实现导航栏中英文切换效果
Jan 16 Javascript
Vue组件实例间的直接访问实现代码
Aug 20 Javascript
用vue封装插件并发布到npm的方法步骤
Oct 18 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
Mar 05 Javascript
Vuex 快速入门(简单易懂)
Sep 20 Javascript
vue项目移动端实现ip输入框问题
Mar 19 Javascript
JS实现九宫格拼图游戏
Jun 28 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
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
PHP+MySQL投票系统的设计和实现分享
2012/09/23 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
php简单生成随机数的方法
2015/07/30 PHP
prototype 中文参数乱码解决方案
2009/11/09 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
jquery基础教程之数组使用详解
2014/03/10 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
编写简单的Python程序来判断文本的语种
2015/04/07 Python
Python之reload流程实例代码解析
2018/01/29 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
Python+OpenCV实现旋转文本校正方式
2020/01/09 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
银行自荐信范文
2015/03/25 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
企业年会祝酒词
2015/08/11 职场文书
银行求职信怎么写
2019/06/20 职场文书
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技