jQuery資料緩衝用法分析
這篇文章主要介紹了jQuery資料緩衝用法,較為詳細的分析了jQuery資料緩衝的功能、定義與相關的提示,需要的朋友可以參考下
本文分析了jQuery資料緩衝用法。分享給大家供大家參考。具體如下:
在jQuery的API協助文檔中,jQuery這樣描述資料緩衝的作用:用於在一個元素上存取資料而避免了循環參考的風險。
一、定義快取資料
使用$(selector).data(name,value)方法可以為jQuery對象定義快取資料。這些快取資料被存放在匹配的DOM元素集合中所有DOM元素中。
?
| 1 2 |
var $link = $('a'); $link.data('linkType', 'home'); |
說明:$(selector).data(name,value)可以在匹配的DOM元素上存放任何格式的資料,而不僅僅是字串。
二、擷取快取資料
此時,只需要一個參數即可,該參數指定快取資料的名稱。
?
| 1 |
var linkType = $link.data('linkType'); //'home' |
說明:如果讀取的快取資料不存在,則傳回值為undefined;如果jQuery集合指向多個元素,則將只返回第一個元素的對應快取資料。
三、刪除快取資料
removeData()函數能夠刪除指定名稱的快取資料,並返回對應的jQuery對象。
?
| 1 2 |
//刪除快取資料的同時,返回對應的jQuery對象。 var $a = $link.removeData('linkType'); |
四、jQuery資料緩衝的使用規範
隨著調用data()函數次數增多,或者因使用不當,會使得cache對象急劇膨脹,最終影響程式的效能。
所以在使用jQuery資料緩衝功能時,應及時清理緩衝對象。jQuery提供了removeData()函數手動清除快取資料。根據jQuery架構的運行機制,下面幾種情況不需要手動清除資料緩衝。
* 對elem執行remove()操作,jQuery會自動清除對象可能存在的緩衝。
* 對elem執行empty()操作,如果當前elem子項目存在資料緩衝,jQuery也會清楚子物件可能存在的資料緩衝。
* jQuery複製節點的clone()方法不會複製data緩衝。
希望本文所述對大家的jQuery程式設計有所協助。