更高效的使用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+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
Aug 04 Javascript
javascript针对不确定函数的执行方法
Dec 16 Javascript
js实现股票实时刷新数据案例
May 14 Javascript
详解升级react-router 4 踩坑指南
Aug 14 Javascript
element-ui 表格实现单元格可编辑的示例
Feb 26 Javascript
es6新特性之 class 基本用法解析
May 05 Javascript
详解AngularJS 过滤器的使用
Jun 02 Javascript
解决vue select当前value没有更新到vue对象属性的问题
Aug 30 Javascript
React Native中Mobx的使用方法详解
Dec 04 Javascript
node+multer实现图片上传的示例代码
Feb 18 Javascript
解决vue初始化项目一直停在downloading template的问题
Nov 09 Javascript
使用Mock.js生成前端测试数据
Dec 13 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扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
深入理解javascript变量声明
2014/11/20 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
2019/07/31 jQuery
基于JS实现视频上传显示进度条
2020/05/12 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
使用HTML5进行SVG矢量图形绘制的入门教程
2016/02/19 HTML / CSS
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
数学系毕业生的自我评价
2014/01/10 职场文书
大学生实习思想汇报
2014/01/12 职场文书
医院节能减排方案
2014/06/13 职场文书
庆祝儿童节标语
2014/10/09 职场文书
2015年暑假生活总结
2015/07/13 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书