更高效的使用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内核之基本概念
Oct 21 Javascript
jqTransform form表单美化插件使用方法
Jul 05 Javascript
JQuery实现简单时尚快捷的气泡提示插件
Dec 20 Javascript
JS中不为人知的五种声明Number的方式简要概述
Feb 22 Javascript
Jquery操作radio的简单实例
Jan 06 Javascript
js验证电话号码与手机支持+86的正则表达式
Jan 23 Javascript
原生javascript+css3编写的3D魔方动画旋扭特效
Mar 14 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
Dec 05 Javascript
JS实现DOM删除节点操作示例
Apr 04 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
Apr 04 Javascript
react使用CSS实现react动画功能示例
May 18 Javascript
uniapp电商小程序实现订单30分钟倒计时
Nov 01 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运行模式的深入理解
2013/06/03 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
php定时计划任务与fsockopen持续进程实例
2014/05/23 PHP
PHP 正则表达式小结
2015/02/12 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
php与js的区别是什么
2013/08/05 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
面包屑导航详解
2017/12/07 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
深入理解Python中range和xrange的区别
2017/11/26 Python
详解flask入门模板引擎
2018/07/18 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
大学生简历中个人的自我评价
2013/10/06 职场文书
高中生班主任评语
2014/04/25 职场文书
8和9的加减法教学反思
2014/05/01 职场文书
法学专业毕业生求职信
2014/06/12 职场文书
意向书范本
2014/07/29 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
暑假打工感想
2015/08/07 职场文书
田径运动会广播稿
2015/08/19 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
OpenCV-Python实现轮廓拟合
2021/06/08 Python