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);