jQuery數(shù)據(jù)緩存用法分析
本文分析了jQuery數(shù)據(jù)緩存用法。分享給大家供大家參考。具體如下:
在jQuery的API幫助文檔中,jQuery這樣描述數(shù)據(jù)緩存的作用:用于在一個元素上存取數(shù)據(jù)而避免了循環(huán)引用的風(fēng)險(xiǎn)。
一、定義緩存數(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ù)指定緩存數(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ù)的同時(shí),返回對應(yīng)的jQuery對象。
var $a = $link.removeData('linkType');
四、jQuery數(shù)據(jù)緩存的使用規(guī)范
隨著調(diào)用data()函數(shù)次數(shù)增多,或者因使用不當(dāng),會使得cache對象急劇膨脹,最終影響程序的性能。
所以在使用jQuery數(shù)據(jù)緩存功能時(shí),應(yīng)及時(shí)清理緩存對象。jQuery提供了removeData()函數(shù)手動清除緩存數(shù)據(jù)。根據(jù)jQuery框架的運(yùn)行機(jī)制,下面幾種情況不需要手動清除數(shù)據(jù)緩存。
* 對elem執(zhí)行remove()操作,jQuery會自動清除對象可能存在的緩存。
* 對elem執(zhí)行empty()操作,如果當(dāng)前elem子元素存在數(shù)據(jù)緩存,jQuery也會清楚子對象可能存在的數(shù)據(jù)緩存。
* jQuery復(fù)制節(jié)點(diǎn)的clone()方法不會復(fù)制data緩存。
希望本文所述對大家的jQuery程序設(shè)計(jì)有所幫助。
相關(guān)文章
簡單談?wù)刯Query(function(){})與(function(){})(jQuery)
這篇文章主要簡單介紹了jQuery(function(){})與(function(){})(jQuery)的區(qū)別,需要的朋友可以參考下2014-12-12
JQuery 學(xué)習(xí)筆記 element屬性控制
JQuery元素屬性控制2009-07-07
jQuery插件 tabBox實(shí)現(xiàn)代碼
最近對js以及jq產(chǎn)生了濃厚的興趣,看到j(luò)q有很多很好用的插件,功能各異,包括webUI,jqGrid等等。心里萌發(fā)了制作屬于自己的jq插件的想法。2010-02-02
使用JQuery 加載頁面時(shí)調(diào)用JS的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄褂肑Query 加載頁面時(shí)調(diào)用JS的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05

