更高效的使用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 相关文章推荐
基于jQuery的倒计时插件代码
May 07 Javascript
JavaScript作用域链使用介绍
Aug 29 Javascript
seajs中模块的解析规则详解和模块使用总结
Mar 12 Javascript
jquery实现的横向二级导航效果代码
Aug 26 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
Jun 07 Javascript
jQuery模拟select实现下拉菜单功能
Jun 20 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
全面解析vue中的数据双向绑定
May 10 Javascript
Javascript实现基本运算器
Jul 15 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
Feb 28 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
May 14 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 分页原理详解
2009/08/21 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
jQuery Select下拉框操作小结(推荐)
2016/07/22 Javascript
Node.js测试中的Mock文件系统详解
2016/11/21 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
WebSocket的简单介绍及应用
2019/05/23 Javascript
详解如何提升JSON.stringify()的性能
2019/06/12 Javascript
JS如何实现动态添加的元素绑定事件
2019/11/12 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
python与php实现分割文件代码
2017/03/06 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
Python科学画图代码分享
2017/11/29 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
Python 绘制可视化折线图
2020/07/22 Python
放飞中国梦演讲稿
2014/04/23 职场文书
小学优秀教师材料
2014/12/15 职场文书
党支部先进事迹材料
2014/12/24 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL