更高效的使用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 相关文章推荐
直接生成打开窗口代码,不必下载
May 14 Javascript
js字符串转成JSON
Nov 07 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
Mar 08 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
Jul 17 Javascript
浅谈javascript获取元素transform参数
Jul 24 Javascript
javascript实现动态标签云
Oct 16 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
Apr 06 Javascript
JavaScript模拟文件拖选框样式v1.0的实例
Aug 04 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 Javascript
微信小程序实现转盘抽奖
Sep 21 Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 Javascript
JavaScript实现网页下拉菜单效果
Nov 20 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-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
Linux下实现PHP多进程的方法分享
2012/08/16 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
JS 面向对象的5钟写法
2009/07/31 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
微信小程序之购物车功能
2020/09/23 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
2017/08/08 jQuery
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
Python网络编程 Python套接字编程
2017/09/13 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
python标记语句块使用方法总结
2019/08/05 Python
Python实现仿射密码的思路详解
2020/04/23 Python
python 用struct模块解决黏包问题
2020/11/07 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
中国最大的名表商城:万表网
2016/08/29 全球购物
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
农业开发项目建议书
2014/05/16 职场文书
班组长安全工作职责
2014/07/15 职场文书
葬礼主持词
2015/07/02 职场文书
讲座新闻稿
2015/07/18 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书
Win11 Build 22000.51版本文件资源管理器“命令栏”和上下文菜单有什么新变化?
2021/11/21 数码科技
nginx共享内存的机制详解
2022/03/21 Servers