jQuery数据缓存用法分析


Posted in Javascript onFebruary 20, 2015

本文分析了jQuery数据缓存用法。分享给大家供大家参考。具体如下:

在jQuery的API帮助文档中,jQuery这样描述数据缓存的作用:用于在一个元素上存取数据而避免了循环引用的风险。

一、定义缓存数据

使用$(selector).data(name,value)方法可以为jQuery对象定义缓存数据。这些缓存数据被存放在匹配的DOM元素集合中所有DOM元素中。

var $link = $('a');
$link.data('linkType', 'home');

说明:$(selector).data(name,value)可以在匹配的DOM元素上存放任何格式的数据,而不仅仅是字符串。

二、获取缓存数据

此时,只需要一个参数即可,该参数指定缓存数据的名称。

var linkType = $link.data('linkType'); //'home'

说明:如果读取的缓存数据不存在,则返回值为undefined;如果jQuery集合指向多个元素,则将只返回第一个元素的对应缓存数据。

三、删除缓存数据

removeData()函数能够删除指定名称的缓存数据,并返回对应的jQuery对象。

//删除缓存数据的同时,返回对应的jQuery对象。
var $a = $link.removeData('linkType');

四、jQuery数据缓存的使用规范

随着调用data()函数次数增多,或者因使用不当,会使得cache对象急剧膨胀,最终影响程序的性能。
所以在使用jQuery数据缓存功能时,应及时清理缓存对象。jQuery提供了removeData()函数手动清除缓存数据。根据jQuery框架的运行机制,下面几种情况不需要手动清除数据缓存。

* 对elem执行remove()操作,jQuery会自动清除对象可能存在的缓存。
* 对elem执行empty()操作,如果当前elem子元素存在数据缓存,jQuery也会清楚子对象可能存在的数据缓存。
* jQuery复制节点的clone()方法不会复制data缓存。

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
js数字输入框(包括最大值最小值限制和四舍五入)
Nov 24 Javascript
Jquery 常用方法经典总结
Jan 28 Javascript
JQuery从头学起第二讲
Jul 04 Javascript
早该知道的7个JavaScript技巧
Mar 27 Javascript
JavaScript 异常处理 详解
Feb 06 Javascript
JavaScript实现添加、查找、删除元素
Jul 02 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
Apr 26 Javascript
javascript 数组去重复(在线去重工具)
Dec 17 Javascript
javascript中的深复制详解及实例分析
Dec 29 Javascript
js+canvas实现动态吃豆人效果
Mar 22 Javascript
详解打造 Vue.js 可复用组件
Mar 24 Javascript
Webpack 4.x搭建react开发环境的方法步骤
Aug 15 Javascript
jQuery性能优化技巧分析
Feb 20 #Javascript
jQuery源码解读之removeClass()方法分析
Feb 20 #Javascript
jQuery源码解读之addClass()方法分析
Feb 20 #Javascript
jQuery源码解读之hasClass()方法分析
Feb 20 #Javascript
jQuery源码解读之removeAttr()方法分析
Feb 20 #Javascript
JS实现5秒钟自动封锁div层的方法
Feb 20 #Javascript
js实现感应鼠标图片透明度变化的方法
Feb 20 #Javascript
You might like
php截取中文字符串函数实例
2015/02/23 PHP
php实现Session存储到Redis
2015/11/11 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
php中对象引用和复制实例分析
2019/08/14 PHP
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
JavaScript实现网页加载进度条代码超简单
2015/09/21 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
Python获取文件所在目录和文件名的方法
2017/01/12 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
python开发游戏的前期准备
2019/05/05 Python
Django Rest framework三种分页方式详解
2019/07/26 Python
python实现高斯投影正反算方式
2020/01/17 Python
开启Django博客的RSS功能的实现方法
2020/02/17 Python
python实现图片素描效果
2020/09/26 Python
俄罗斯女装店:12storeez
2019/10/25 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
应届毕业生的自我鉴定
2013/11/13 职场文书
高分子材料与工程专业推荐信
2013/12/01 职场文书
数学系毕业生求职信
2014/05/29 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
2015年校长新年寄语
2014/12/08 职场文书
简历自我评价优缺点
2015/03/11 职场文书
讲文明倡议书
2015/04/29 职场文书
运动会主持词大全
2015/07/02 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书
《原神》新角色演示“神里绫人:林隐泓洄” 宠妹狂魔
2022/04/03 其他游戏