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 相关文章推荐
JavaScript 提升运行速度之循环篇 译文
Aug 15 Javascript
jQuery基础语法实例入门
Dec 23 Javascript
js实现在网页上简单显示时间的方法
Mar 02 Javascript
js实现漂浮回顶部按钮实例
May 06 Javascript
jquery简单实现网页层的展开与收缩效果
Aug 07 Javascript
select下拉框插件jquery.editable-select详解
Jan 22 Javascript
JS区分Object与Aarry的六种方法总结
Feb 27 Javascript
node.js express中app.param的用法详解
Jul 16 Javascript
JS实现简单的点赞与踩功能示例
Dec 05 Javascript
Vue form表单动态添加组件实战案例
Sep 02 Javascript
Vue自定义全局弹窗组件操作
Aug 11 Javascript
k8s node节点重新加入master集群的实现
Feb 22 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
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
js用图作提交按钮或超连接
2008/03/26 Javascript
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
jQuery弹性滑动导航菜单实现思路及代码
2013/05/02 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
js数组去重的hash方法
2016/12/22 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
python多进程并发demo实例解析
2019/12/13 Python
python3 re返回形式总结
2020/11/20 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
业务部门经理岗位职责
2014/02/23 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
商场广播稿范文
2015/08/19 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript