更高效的使用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获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 Javascript
jQuery深拷贝Json对象简单示例
Jul 06 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
Dec 17 Javascript
js实现文字向上轮播功能
Jan 13 Javascript
深入理解基于vue-cli的vuex配置
Jul 24 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
Sep 22 Javascript
js实现网页同时进行多个倒计时功能
Feb 25 Javascript
layUI实现列表查询功能
Jul 27 Javascript
解决layer弹出层自适应页面大小的问题
Sep 16 Javascript
基于Vue CSR的微前端实现方案实践
May 27 Javascript
vue实现井字棋游戏
Sep 29 Javascript
原生JavaScript实现幻灯片效果
Feb 19 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
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
js禁止回车提交表单的示例代码
2013/12/23 Javascript
jQuery性能优化的38个建议
2014/03/04 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
AngularJS表格添加序号的方法
2017/03/03 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
python中的__slots__使用示例
2015/02/26 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
python下载的库包存放路径
2020/07/27 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
软件工程师面试题
2012/06/25 面试题
2014教师教育实践活动对照检查材料思想汇报
2014/09/21 职场文书
单位介绍信格式
2015/01/31 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android