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 相关文章推荐
JMenuTab简单使用说明
Mar 13 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 Javascript
用JavaScript实现动画效果的方法
Jul 20 Javascript
JavaScript中对象属性的添加和删除示例
May 12 Javascript
jQuery无刷新切换主题皮肤实例讲解
Oct 21 Javascript
jQuery实现只允许输入数字和小数点的方法
Mar 02 Javascript
终于实现了!精彩的jquery弹幕效果
Jul 18 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 Javascript
javascript判断firebug是否开启的方法
Nov 23 Javascript
微信小程序侧边栏滑动特效(左右滑动)
Jan 23 Javascript
JS和Canvas实现图片的预览压缩和上传功能
Mar 30 Javascript
记录vue项目中遇到的一点小问题
May 14 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
php多任务程序实例解析
2014/07/19 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
2014/10/15 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
python基础之包的导入和__init__.py的介绍
2018/01/08 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
kaggle+mnist实现手写字体识别
2018/07/26 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
vscode调试django项目的方法
2020/08/06 Python
C语言中break与continue的区别
2012/07/12 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
防汛工作情况汇报
2014/10/28 职场文书
英语辞职信范文
2015/02/28 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
Golang 编译成DLL文件的操作
2021/05/06 Golang
一文搞懂python异常处理、模块与包
2021/06/26 Python