更好使用jQuery的8个小技巧
更好地使用jQuery,这里总结了8个小技巧。
1、DOM遍历是昂贵的,将变量缓存起来。
//不推荐
var h = $('#ele').height();
$('#ele').css('height', h-20);
//推荐
var $ele = $('#ele');
var h = $ele.height();
$ele.css('height',h-20);
2、尽可能地合并函数。
//不推荐
$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'
});
});
3、尽可能使用链式操作。
//不推荐
$ele.html();
$ele.on("click",function(){});
$ele.fadeIn('slow');
//推荐
$ele.on("click",function(){
})
.fadeIn('slow')
.animate({height:'12px'},500);
4、尽可能保持代码简洁。
//不推荐
if(arr.length > 0){}
//推荐
if(arr.length){}
5、对DOM元素作大量操作,先分离在追加
//不推荐
var $container = $('#somecontainer');
var $ele = $container.first();
.......一系列复杂操作
//推荐
var $container = $('#somecontainer');
var $ele = $container.first().detach();
.......一系列复杂操作
$container.append($ele);
6、避免通用选择符。
//不推荐
$('.container > *')
//推荐
$('.container').children()
7、优化选择符。
//不推荐
$('div#myid')
//推荐
$('#myid')
8、避免隐式通用选择符。
//不推荐
$('.someclass :radio')
//推荐
$('.someclass input:radio')