$.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")的方法则替换掉了原来的数据。
随机推荐
- JAVA的包装类2 【转】
怎么理解JAVA中的“包装类” JAVA是一种面向对象语言,java中的类把方法与数据连接在一起,构成了自包含式的处理单元.但在JAVA中不能定义基本类型(primitive type)对象,为了能 ...
- iscsi线缆
- java多线程面试题整理及回答
1)现在有T1.T2.T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行? 这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉.这个多线程问题比 ...
- 常用的百度API地图操作
常用的百度API地图操作,包括模糊搜索,放大缩小,并支持移动端 效果图如下 完整代码: http://download.csdn.net/detail/jine515073/8778167
- MySQL多表数据记录查询详解
在实际应用中,经常需要实现在一个查询语句中显示多张表的数据,这就是所谓的多表数据记录连接查询,简称来年将诶查询. 在具体实现连接查询操作时,首先将两个或两个以上的表按照某个条件连接起来,然后再查询到所 ...
- e658. 组合图形
Area shape = new Area(shape1); shape.add(new Area(shape2)); shape.subtract(new Area(shape3)); shape. ...
- 从VirtualBox虚拟主机访问NAT客户机的方法
转自:http://www.jb51.net/os/other/352995.html VirtualBox对虚拟机支持几种不同的网络方式,其中一种是NAT网络.当虚拟机启用NAT后,VirtualB ...
- 【Java面试题】30 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。
题目如下: 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次 思路如下: 子线程语主线程为互斥,可用SYNCHRONIZED.很容易想 ...
- JavaSE(十)之反射
开始接触的时候可能大家都会很模糊到底什么是反射,大家都以为这个东西不重要,其实很重要的,几乎所有的框架都要用到反射,增加灵活度.到了后面几乎动不动就要用到反射. 首先我们先来认识一下对象 学生---- ...
- opencv播放视屏并控制位置
原文地址:http://blog.csdn.net/augusdi/article/details/9000592 cvGetCaptureProperty是我们需要使用到的获取视频属性的函数. do ...