日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

提升效率的JQUERY(转)

發布時間:2025/7/14 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 提升效率的JQUERY(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要

本文部分整理了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 使用最新的版本及CDN

15 壓縮你的JS代碼

16 保持代碼規范整潔

轉載于:https://www.cnblogs.com/acuier/p/6851785.html

總結

以上是生活随笔為你收集整理的提升效率的JQUERY(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。