zoukankan      html  css  js  c++  java
  • 关于$.data(element,key,value)与ele.data.(key,value)的区别

    
    
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">   
    <title>测试代码</title>
    <script src="../jQuery.js"></script>
    </head>
    <body>
    <div id="test1">test1</div>   
    <div id="test2">test2</div>   
    </body> 
    <script> 
    var a=$("div");   
    var b=$("div");//a不等于b。   
    
    $("#test1").click(function(){      
    //首先使用data(key,value)用法。   
    $(a).data("a","1");//分别在a和b上保存Key一样的数据,   
    $(b).data("a","2");// 看它是否会覆盖前面的,虽然是保存在不同对象上。   
    alert($(a).data("a"));//你猜到答案了吗,这里输出的是2;是不是有点意外?     
    alert($(b).data("a"));//这里也是2; 
    alert("a是否等于b");
    alert(a===b);   //false
     });  
    
    //使用jQuery.data(element,key,value)来存放数据。 
    $("#test2").click(function(){ 
    $.data(a,"b","3");//分别在a和b上保存Key一样的数据,   
    $.data(b,"b","4");// 看它是否会覆盖前面的,虽然是保存在不同对象上。   
    alert($.data(a,"b"));//应该你能猜答案吧,输出3   
    alert($.data(b,"b"));//这输出4    
    }) ;  
    </script> 
    </html>
    

    这里我个人是按指针理解的,data(key,value)时,a与b公用指针“a”,指向同一数据,所以会覆盖。而data(element,key,value)时,虽然指针名是一样的,但分别隶属于a与b,是两个不同的指针,指向2个数据,所以单独存在,互不影响。

  • 相关阅读:
    OC
    提取AppDelegate.m中的"RDVTabBarController"第三方框架的方法
    spring_aop
    spring_xml配置&依赖注入
    关于idea运行web项目时出现的浏览器问题
    Java中main方法参数类型个人粗略理解
    函数式编程_lambda
    反射_注解
    pl/sql使用小技巧
    触发器&索引&视图
  • 原文地址:https://www.cnblogs.com/keepStudying/p/6184654.html
Copyright © 2011-2022 走看看