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ù)增多,或者因使用不當(dāng),會使得cache對象急劇膨脹,最終影響程序的性能。
所以在使用jQuery數(shù)據(jù)緩存功能時,應(yīng)及時清理緩存對象。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)文章
40個有創(chuàng)意的jQuery圖片和內(nèi)容滑動及彈出插件收藏集之三
在網(wǎng)頁的首頁或圖片專題頁面很多地方都會用到圖片滑動插件來循環(huán)切換多張圖片,并且用戶可以點(diǎn)擊左右按鈕來切換圖片。2012-01-01
Jquery樹插件zTree實(shí)現(xiàn)菜單樹
這篇文章主要為大家詳細(xì)介紹了Jquery樹插件zTree實(shí)現(xiàn)菜單樹,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
jquery統(tǒng)計(jì)用戶選中的復(fù)選框的個數(shù)
使用選擇器得到所有被勾選的復(fù)選框元素的集合,然后通過判斷元素的個數(shù)來得到用戶勾選的個數(shù),需要的朋友可以參考下2014-06-06
jQuery基于xml格式數(shù)據(jù)實(shí)現(xiàn)模糊查詢及分頁功能的方法
這篇文章主要介紹了jQuery基于xml格式數(shù)據(jù)實(shí)現(xiàn)模糊查詢及分頁功能的方法,涉及jQuery使用ajax技術(shù)針對xml格式數(shù)據(jù)的讀取、模糊查詢及分頁顯示等相關(guān)操作技巧,需要的朋友可以參考下2016-12-12
基于jquery實(shí)現(xiàn)的圖片在各種分辨率下未知的容器內(nèi)上下左右居中
這篇文章主要介紹了基于jquery實(shí)現(xiàn)的圖片在各種分辨率下未知的容器內(nèi)上下左右居中的方法,需要的朋友可以參考下2014-05-05

