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 prototype,executing,context,closure
Dec 24 Javascript
原生JavaScript生成GUID的实现示例
Sep 05 Javascript
JavaScript中的函数声明和函数表达式区别浅析
Mar 27 Javascript
jquery实现右键菜单插件
Mar 29 Javascript
使用jQuery操作HTML的table表格的实例解析
Mar 13 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
May 30 Javascript
前端面试题及答案整理(二)
Aug 26 Javascript
JS自动生成动态HTML验证码页面
Jun 14 Javascript
JavaScript简介_动力节点Java学院整理
Jun 26 Javascript
vue计算属性和监听器实例解析
May 10 Javascript
vue相关配置文件详解及多环境配置详细步骤
May 19 Javascript
Node.js API详解之 assert模块用法实例分析
May 26 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使用sql数据库 获取字段问题介绍
2013/08/12 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
php验证码生成器
2017/05/24 PHP
PHP编程一定要改掉的5个不良习惯
2020/09/18 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
Javascript倒计时代码
2010/08/12 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
JavaScript每天必学之基础知识
2016/09/17 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
python使用marshal模块序列化实例
2014/09/25 Python
Python最长公共子串算法实例
2015/03/07 Python
python中map()函数的使用方法示例
2017/09/29 Python
Python实现ping指定IP的示例
2018/06/04 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
Django框架视图层URL映射与反向解析实例分析
2019/07/29 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
美国著名的婴儿学步鞋老品牌:Robeez
2016/08/20 全球购物
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
争论的故事教学反思
2014/02/06 职场文书
辅导员评语
2014/05/04 职场文书
演讲稿开场白台词
2014/08/25 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
一百条裙子读书笔记
2015/07/01 职场文书