结论:
$("#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>