jq效能優化

2021-08-21 16:18:40 字數 2462 閱讀 5783

1)在jquery中最快的選擇器是id選擇器. 因為它直接來自於js的getelementbyid()方法.

var traffic_button = $(『#traffic_button』);

選擇多個元素的時候從就近的id開始繼承,這樣能提高效能

var traffic_lights = $(『#traffic_light input』);

2)第二快的選擇器是標籤選擇器($(『head』)). 因為它來自原getelementsbytagname() 方法.

一般用$(class)的時候會給前面加上標籤名來限制他

,因為在jquery中class是最慢的選擇器. ie瀏覽器下它會遍歷所有dom節點不管它用在那裡.

var active_light = $(『#traffic_light input.on』);

3)給選擇器提供上下文

jquery(expression,[context]

)給它指定第二個引數,這樣就不必全域性去尋找

描述:在文件的第乙個表單中,查詢所有的單選按鈕(即: type 值為 radio 的 input 元素)。

jquery **:$("input:radio", document.forms[0]);

4)多次選擇相同的元素,一般都要將jquery物件快取進乙個變數

不要這樣做:

$(『#traffic_light input.on).bind(『click『, function());

$(『#traffic_light input.on).css(『border』, 』3px dashed yellow』);

$(『#traffic_light input.on).css(『background-color『, 『orange『);

$(『#traffic_light input.on).fadein(『slow』);

最好先將物件快取進乙個變數然後再操作:

var $active_light = $(『#traffic_light input.on』);

$active_light.bind(『click』, function());

$active_light.css(『border』, 』3px dashed yellow』);

$active_light.css(『background-color』, 『orange』);

$active_light.fadein(『slow』);

var top_100_list = [...], // assume this has 100 unique strings

$mylist = $(『#mylist『), // jquery selects our

var $traffic_light = $(『#traffic_light』),

$active_light = $traffic_light.find(『input.on』),

$inactive_lights = $traffic_light.find(『input.off』);

8)冒泡

用delegate繫結事件,他是繫結在父元素上的始終只有乙個監聽,即使後來動態生成的新元素也可自動獲得父元素上的事件處理函式。delegate(「selector」,「事件名」,function)

可以簡寫

$("div p").click(function () )

9)合理使用$(document).ready$(window).load

mysql效能優化 mysql效能優化

優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...

效能優化 電量優化

使用battery historian來監測電量的情況,battery historian時google的乙個開源專案 具體安裝過程參見 當出現下列畫面,說明已經開啟 其開啟成功以後,訪問網頁如下所示 說明 這裡使用的是一台國外的vps伺服器,原本是想在本地虛擬機器實驗的,一直連線超時,就換成了vp...

效能優化 儲存優化

android系統提供4中基本的資料儲存方式,分別是sharedpreference 檔案儲存 sqlite資料庫 contentprovider。sharedpreference sharedpreference是一種簡單便捷的儲存方式,常用來儲存一些簡單配置資訊。儲存路徑 sharedprefe...