更高效的使用JQuery 这里总结了8个小技巧
作者:bea
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') 代码如下: //
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);
有用 | 无用
代码如下:
//不推荐
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);
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- node.js实现端口转发
- 即将发布的jQuery 3 有哪些新特性
- 谈一谈JS消息机制和事件机制的理解
- Kindeditor在线文本编辑器如何过滤HTML
- 基于RequireJS和JQuery的模块化编程日常问题解析
- [原创]JQuery 在表单提交之前修改 提交的值
- javaScript数组迭代方法详解
- 基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
- js贪吃蛇游戏实现思路和源码
- JS跨域解决方案之使用CORS实现跨域
- [原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
- Seajs 简易文档 提供简单、极致的模块化开发体验
- 原生js编写autoComplete插件
- JS中的eval 为什么加括号
- jQuery操作属性和样式详解
- jquery跟随屏幕滚动效果的实现代码
- 两种方法解决javascript url post 特殊字符转义 + & #
- Angular.js与Bootstrap相结合实现手风琴菜单代码
- JQuery 两种方法解决刚创建的元素遍历不到的问题