更高效的使用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动画之圆形运动,环绕鼠标运动作小球
Jul 20 Javascript
基于Jquery的淡入淡出的特效基础练习
Dec 13 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
Jun 12 Javascript
JS中的进制转换以及作用
Jun 26 Javascript
JavaScript登录验证码的实现
Oct 27 Javascript
jQuery中Chosen三级联动功能实例代码
Mar 07 Javascript
JS实现给json数组动态赋值的方法示例
Mar 19 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
Dec 13 Javascript
10分钟上手vue-cli 3.0 入门介绍
Apr 04 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
Nov 26 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
Jul 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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
2011/05/29 PHP
php 使用file_get_contents读取大文件的方法
2014/11/13 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
PHP7匿名类用法分析
2016/09/26 PHP
javascript 学习笔记(onchange等)
2010/11/14 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
js对象基础实例分析
2015/01/13 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
python里大整数相乘相关技巧指南
2014/09/12 Python
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
opencv python图像梯度实例详解
2020/02/04 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
仓库保管员岗位职责
2013/12/20 职场文书
家长会标语
2014/06/24 职场文书
派出所班子党的群众路线对照检查材料思想汇报
2014/10/01 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
入党申请书怎么写?
2019/06/11 职场文书
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
MySQL连接控制插件介绍
2021/09/25 MySQL