教程集 www.jiaochengji.com
教程集 >  jQuery  >  jquery 教程  >  正文 关于jQuery对象数据缓存Cache原理以及jQuery.data详解

关于jQuery对象数据缓存Cache原理以及jQuery.data详解

发布时间:2013-12-05   编辑:jiaochengji.com
网上有很多教你怎么使用jQuery.data(..)来实现数据缓存,但有两个用户经常使用的data([key],[value])和jQuery.data(element,[key],[value])几乎没有什么文章说清楚它们两的区别,所以我用到了,研究下分享给大家。

网上有很多教你怎么使用jquery.data(..)来实现数据缓存,但有两个用户经常使用的data([key],[value])和jQuery.data(element,[key],[value])几乎没有什么文章说清楚它们两的区别,所以我用到了,研究下分享给大家。
$("").data([key],[value])与jQuery.data(element,[key],[value])的区别
这两个函数都是用来在元素上存放数据也就平时所说的数据缓存,都返回jQuery对象,当时我分别在使用它俩的时候真的吓我一跳,区别可大了,真是不用不知道,一用吓一跳。看例子先吧,后再根据源代码分析。

Js代码:

复制代码 代码如下:

<div id="test2" onclick="test()">test2</div>
<div id="abc3" onclick="test()">test3</div>
<div id="test" onclick="test()">test</div>
<p id="ttt">aaaa</p>
<script>
$(document).ready(function(){
$("#test").click(function(){
alert("JQUERY");

var e=$("div");//定义了两jquery对象
var w=$("div");//e是不等于w的。

//首先使用data([key],[value])用法。
$(e).data("a","aaaa");//分别在e和w上保存Key一样的数据,
$(w).data("a","wwww");// 看它是否会覆盖前面的,虽然是保存在不同对象上。
alert($(e).data("a"));//你猜到答案了吗,里输出是wwww;是不是有点意外?
alert(e===w)//false
alert($(w).data("a"));//这里也是wwww;

//使用jQuery.data(element,[key],[value])来存放数据。
$.data(e,"b","cccc");//分别在e和w上保存Key一样的数据,
$.data(w,"b","dddd");// 看它是否会覆盖前面的,虽然是保存在不同对象上。
alert($.data(e,"b"));//应该你能猜答案吧,输出cccc
alert($.data(w,"b"));//这输出dddd

});
});
</script>

您可能感兴趣的文章:
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
读jQuery之六 缓存数据功能介绍
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
jQuery 2.0.3 源码分析 数据缓存
jQuery数据缓存功能的实现思路及简单模拟
jQuery 数据缓存模块进化史详细介绍
jQuery 数据缓存data(name, value)详解及实现
jQuery 源码分析笔记(6) jQuery.data
hash算法 consistent hashing 详解[图]
学习mysql的查询缓存

关键词: Cache  jQuery.data详解   
[关闭]
~ ~