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")的方法则替换掉了原来的数据。

随机推荐

  1. uboot中DEBUG定义

    uboot的debug定义在include/common.h中 #ifdef DEBUG #define debug(fmt, args...)  printf(fmt, ##args) #defin ...

  2. hive中创建表失败

    使用create table命令创建表失败,如下错误信息: hive> create table test(id int,name string,age int,sex string); FAI ...

  3. elasticsearch安装与使用(4)-- 安装中文分词插件elasticsearch 的 jdbc

    前言 elasticsearch(下面简称ES)使用jdbc连接mysql比go-mysql-elasticsearch的elasticsearch-river-jdbc能够很好的支持增量数据更新的问 ...

  4. 关于PHP开发所需要的工具和环境

    0.notepad++ 一个类型记事本的软件,用来看安装的部署说明命令. 1.虚拟机 在虚拟机里面操作,本机不会被影响. 2.CentOS系统 类似Linux的系统,在里面安装PHP,Nginx,ph ...

  5. C# VS本地Sqlserver 操作笔记

    1.如何连接本地数据库 -- string Info = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirecto ...

  6. Linux ad7606 驱动

    Linux中已经移植好了ad7606,位于driver/staging/iio/adc/目录中.只要在板级文件中添加device中即可. 移植参考文档: https://wiki.analog.com ...

  7. python不同package下相互调用

    路径如: /path/dir1/a.py /path/dir2/b.py 调用举例如: 在/path/dir2/b.py中调用 a模块 import sys sys.path.append(" ...

  8. 转载:MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解

    转自:http://www.jb51.net/article/39199.htm 本篇文章是对MySQL数据库INSERT.UPDATE.DELETE以及REPLACE语句的用法进行了详细的分析介绍, ...

  9. 资深投资人全力反击: VC增值平台从来就不是一坨狗屎

    编者注: 本文来自海外著名科技博客VentureBeat, 英文原文出自Kyle Lacy之手 ,中文版由天地会珠海分舵进行编译. 文章主要是针对前几天德国VC Christian Claussen的 ...

  10. 解析oracle的rownum

    本人最近在使用oracle的rownum实现分页显示的时候,对rownum做了进一步的分析和研究.现归纳如下,希望能给大家带来收获. 对于rownum来说它是oracle系统顺序分配为从查询返回的行的 ...