jQuery數(shù)據(jù)緩存用法分析
本文分析了jQuery數(shù)據(jù)緩存用法。分享給大家供大家參考。具體如下:
在jQuery的API幫助文檔中,jQuery這樣描述數(shù)據(jù)緩存的作用:用于在一個元素上存取數(shù)據(jù)而避免了循環(huán)引用的風(fēng)險。
一、定義緩存數(shù)據(jù)
使用$(selector).data(name,value)方法可以為jQuery對象定義緩存數(shù)據(jù)。這些緩存數(shù)據(jù)被存放在匹配的DOM元素集合中所有DOM元素中。
var $link = $('a'); $link.data('linkType', 'home');
說明:$(selector).data(name,value)可以在匹配的DOM元素上存放任何格式的數(shù)據(jù),而不僅僅是字符串。
二、獲取緩存數(shù)據(jù)
此時,只需要一個參數(shù)即可,該參數(shù)指定緩存數(shù)據(jù)的名稱。
var linkType = $link.data('linkType'); //'home'
說明:如果讀取的緩存數(shù)據(jù)不存在,則返回值為undefined;如果jQuery集合指向多個元素,則將只返回第一個元素的對應(yīng)緩存數(shù)據(jù)。
三、刪除緩存數(shù)據(jù)
removeData()函數(shù)能夠刪除指定名稱的緩存數(shù)據(jù),并返回對應(yīng)的jQuery對象。
//刪除緩存數(shù)據(jù)的同時,返回對應(yīng)的jQuery對象。 var $a = $link.removeData('linkType');
四、jQuery數(shù)據(jù)緩存的使用規(guī)范
隨著調(diào)用data()函數(shù)次數(shù)增多,或者因使用不當,會使得cache對象急劇膨脹,最終影響程序的性能。
所以在使用jQuery數(shù)據(jù)緩存功能時,應(yīng)及時清理緩存對象。jQuery提供了removeData()函數(shù)手動清除緩存數(shù)據(jù)。根據(jù)jQuery框架的運行機制,下面幾種情況不需要手動清除數(shù)據(jù)緩存。
* 對elem執(zhí)行remove()操作,jQuery會自動清除對象可能存在的緩存。
* 對elem執(zhí)行empty()操作,如果當前elem子元素存在數(shù)據(jù)緩存,jQuery也會清楚子對象可能存在的數(shù)據(jù)緩存。
* jQuery復(fù)制節(jié)點的clone()方法不會復(fù)制data緩存。
希望本文所述對大家的jQuery程序設(shè)計有所幫助。
相關(guān)文章
簡單談?wù)刯Query(function(){})與(function(){})(jQuery)
這篇文章主要簡單介紹了jQuery(function(){})與(function(){})(jQuery)的區(qū)別,需要的朋友可以參考下2014-12-12JQuery 學(xué)習(xí)筆記 element屬性控制
JQuery元素屬性控制2009-07-07使用JQuery 加載頁面時調(diào)用JS的實現(xiàn)方法
下面小編就為大家?guī)硪黄褂肑Query 加載頁面時調(diào)用JS的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05