提升效率的JQUERY

來源:互聯網
上載者:User

標籤:利用   dom   優先   length   事件   綜合   cdn   val   []   

摘要

本文部分整理了JQuery效能提升的一些方法,內容綜合自artzstudio,viralpatel,htmlgoodies等網站,希望對大家有所協助。這些規則雖然簡單,但如果不遵循就會影響程式執行效率,增加瀏覽器的負擔。

1 優先使用ID選取器和以ID開頭的選取器
//ID選取器效能最佳$("#myDiv")//以ID開頭,提高效率$("#myDiv .red")

 

2 類選擇之前加元素選擇提高效率
//元素(tag)選取器效率僅次於ID選取器,優於類(class)選取器$("#myList li.active")

 

3 緩衝JQuery對象
//錯誤,做了兩次選擇$("#myList li").css(‘border‘,‘3px‘);$("#myList li").css(‘color‘,‘red‘);//緩衝對象,提高效率var $li = $("#myList li")$li.css(‘border‘,‘3px‘);$li.css(‘color‘,‘red‘);

 

4 利用鏈式命令,減少代碼量
//鏈式命令,減少代碼量$("#myList li").css(‘border‘,‘3px‘)               .css(‘color‘,‘red‘);

 

5 使用子查詢
//一次全域尋找加兩次子查詢優於兩次全域尋找var $list = $("#myList");var $actives = $list.find(‘li.active‘);var $in_actives = $list.find(‘li.in_active‘);

 

6 減少DOM的操作次數(DOM操作很慢)
//操作一次DOM,而不要操作100次var lis = ""; for (var i=0, i<100; i++) { lis += ‘<li>‘ + i + ‘</li>‘;}$(‘#myList‘).html(lis);

 

7 許多節點調用相同的函數時,利用事件委託
//效率較低$(‘#myList li‘).bind(‘click‘, function(){});//效率較高$(‘#myList‘).bind(‘click‘, function(e){ if ($(e.target).nodeName === ‘LI‘) { }});

 

8 把不重要的功能(如拖放,效果等)放在$(window).load執行
//不要把所有都放在$(document).ready中$(window).load(function(){ // 在頁面所有對象載入完執行});

 

9 較長的字串拼接不要使用concat(),要使用join()
//join()比concat()效率更好var list_items = [];for (var i=0; i<=10; i++) {     list_items[i] = ‘<li>Item ‘+i+‘</li>‘;}$(‘#myList‘).html(list_items.join(‘‘));

 

10 使用for迴圈,不要使用$.each迴圈
//js原生方法效率更好var js_array = new Array ();for (var i=0; i<10000; i++) {    js_array[i] = i;}

 

11使用元素前,先檢查其是否存在
//檢查id為myDiv的元素是否存在if($("#myDiv").length) {}

 

12 函數總是返回false
$(‘#myDiv‘).click (function () {    return false;});

 

13 使用html5的data屬性
//<div id="myDiv" data-value="111"></div>$("#myDiv").data("value");

 

14 使用最新的版本及CDN15 壓縮你的JS代碼16 保持代碼規範整潔

提升效率的JQUERY(轉)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.