$.data(elem, key, val) 和 elem.data(key, val)
var div1 = $("div"),
div2 = $("div");
1、
div1.data("key", "1");
div2.data("key", "2");
alert($.data(div1,"key")); //2
alert($.data(div2,"key")); //2
2、
$.data(div1, "key", "1");
$.data(div2, "key", "2");
alert($.data(div1,"key")); //1
alert($.data(div2,"key")); //2
原因:
jquery源码(1.8.3),摘自$.data()方法
if ( typeof name === "object" || typeof name === "function" ) {
if ( pvt ) { //此处走elem.data(key,value)的情况
cache[ id ] = jQuery.extend( cache[ id ], name );
} else {//此处走$.data(elem,key,value)的情况
cache[ id ].data = jQuery.extend( cache[ id ].data, name );
}
}
从源码可以看出,$.data(div1, "key", "1")的方法会根据elem的不同创建不同的对象来进行存储数据, div1.data("key", "1")的方法则替换掉了原来的数据。
随机推荐
- HttpGet params not being sent httpget.setParams(params)不好使
错误的代码 HttpClient httpclient = new DefaultHttpClient(); HttpUriRequest request = new HttpGet(uri); Ht ...
- SpringMVC 之类型转换Converter详解转载
SpringMVC之类型转换Converter详解 本文转载 http://www.tuicool.com/articles/uUjaum 1.1 目录 1.1 目录 1.2 ...
- Maven_POM配置结构
本文转载,转载地址:http://blog.csdn.net/ithomer/article/details/9332071 <project> <parent> ...
- iOS边练边学--UITabBarController的简单使用
一.UITabBarController的使用步骤 初始化UITabBarController 设置UIWindow的rootViewController为UITabBarController 根据具 ...
- Hibernate基本原理(一)
在开始学hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装.一句不难,难道是真的不难还是眼高手低? 如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎 ...
- windows宿主机ping不通Docker容器的解决办法
网卡上有 docker is not a virtual machine, and you don't get access to the docker host via IP add ...
- Qt中的串口编程之一
QtSerialPort 简介 功能介绍 SerialPort SerialPortInfo 源代码 编译和安装 配置编译环境 Perl只是在Qt5的时候才需要Qt4的情况下可以不配置 使用如下推荐步 ...
- 关掉firefox(火狐)和palemoon地址栏自动加www.前缀功能【转】
常用palemoon调试网站域名,它会很“贴心”的给你输入的网址前加上www.前缀,可有些域名前并没有www前缀,这样就导致了无法打开网站,今天学习下关闭它的这个功能. 打开firefox,在地址栏输 ...
- 后序线索二叉树中查找结点*p的后继
在后序线索二叉树中查找结点*p的后继: 1.若结点*p为根,则无后继:2.若结点*p为其双亲的右孩子,则其后继为其双亲:3.若结点*p为其双亲的左孩子,且双亲无右子女,则其后继为其双亲:4.若结点*p ...
- RelativeLayout用代码兑现布局
RelativeLayout用代码实现布局TextView txt1 = new TextView(this); RelativeLayout.LayoutParams params = n ...