结论:
$("#selector").data("key","value") : 这种方式是把数据保存到doc对象上。
$.data($e,"key","value") : 这种 方式是保存到JQuery对象上。
上代码:
<div id="test2" onclick="test()">test2</div> <div id="abc3" onclick="test()">test3</div> <div id="test" onclick="test()">test</div> <p id="ttt">aaaa</p> <script> $(document).ready(function(){ $("#test").click(function(){ alert("JQUERY"); var e=$("div");//定义了两jquery对象 var w=$("div");//e是不等于w的。 //首先使用data([key],[value])用法。 $(e).data("a","aaaa");//分别在e和w上保存Key一样的数据, $(w).data("a","wwww");// 看它是否会覆盖前面的,虽然是保存在不同对象上。 alert($(e).data("a"));//你猜到答案了吗,里输出是wwww;是不是有点意外? alert(e===w)//false alert($(w).data("a"));//这里也是wwww; //使用jQuery.data(element,[key],[value])来存放数据。 $.data(e,"b","cccc");//分别在e和w上保存Key一样的数据, $.data(w,"b","dddd");// 看它是否会覆盖前面的,虽然是保存在不同对象上。 alert($.data(e,"b"));//应该你能猜答案吧,输出cccc alert($.data(w,"b"));//这输出dddd }); }); </script>
上图: