$.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")的方法则替换掉了原来的数据。
随机推荐
- 应用层timer_libc_posix timer
应用层除了通过setitimer/getitimer设置获取timer外,还可通过timer_create()等一系列函数实现应用层timer功能. 应用流程 The timers created b ...
- salt '*' state.highstate 报错找不到文件,环境如下No Top file or master_tops data matches found.
salt '*' state.highstate 报错找不到文件,环境如下No Top file or master_tops data matches found. file_roots: b ...
- c# dataTable 合并两个列到一个新列中
public static DataTable UniteDataTableColumns(DataTable dt, String newColumnName, string ColumnName1 ...
- Linux下如何查看tomcat是否启动/系统日志等
Linux下如何查看tomcat是否启动/系统日志等 查看tomcat是否启动 ps -ef | grep tomcat 或者 ps -ef | grep java 启动tomcat(在tomca ...
- 我们要注意的Mysql基本安全设置
1.设置或修改Mysql root密码:默认安装后空密码,以mysqladmin命令设置密码: mysqladmin -uroot password "password" Mysq ...
- Java 经典问题
九种基本类型及封装类 基本类型 boolean byte char short int long double void 二进制位数 1 8(一字节) 16(2字节) 16(2字节) 32(4字节) ...
- PhoneGap开发不可或缺的五件装备
PhoneGap是一种介于WebApp和NativeApp之间的解决方案,它为每种移动客户端提供一个Native的壳,这种壳里边包着一个Web应 用.借助于壳,Web应用可以被安装,可以被发布到各大市 ...
- php如何解决多线程同时读写一个文件的问题
<?php header("content-type:text/html;charset=utf-8"); $fp = fopen("lock.txt", ...
- PHP实现MySQL数据导出为EXCEL(CSV格式)
<?php // 输出Excel文件头,可把user.csv换成你要的文件名 header('Content-Type: application/vnd.ms-excel'); header(' ...
- MathType给公式底部加箭头的教程
箭头符号在数学中很常用的一个符号了,不管是在推导过程用以表示逻辑关系,还是表示向量,箭头符号都起着它就的作用.我们经常习惯给公式或者字母的上部加上箭头,那如何给公式的底部加上箭头呢?下面来介绍word ...