博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
$.data(elem, key, val) 和 elem.data(key, val)
阅读量:7204 次
发布时间:2019-06-29

本文共 660 字,大约阅读时间需要 2 分钟。

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

 

 

转载地址:http://ayoum.baihongyu.com/

你可能感兴趣的文章
mongo文件空间
查看>>
NSArray中存的是实体时的排序
查看>>
搜索框中“请输入搜索keyword”
查看>>
CentOS6.5与XP双系统安装
查看>>
Python 更新set
查看>>
shell语法简单介绍
查看>>
Web服务器的工作原理
查看>>
使用WinSetupFromUSB来U盘安装windowsXP(不使用win PE系统)
查看>>
JAVA Calendar具体解释
查看>>
MongoDB入门简单介绍
查看>>
Git show-branch显示提交信息
查看>>
秒杀 ILSpy 等反编译利器 DotNet Resolver
查看>>
SharePoint 2013 中代码创建列表查阅项字段
查看>>
2014仲秋校招之面试篇
查看>>
负载均衡研究 基础
查看>>
10.cadence.自定义焊盘的创建[原创]
查看>>
shell编程总结
查看>>
Docker源码分析(七):Docker Container网络 (上)
查看>>
一些旁门左道
查看>>
Common Pitfalls In Machine Learning Projects
查看>>