$.data()、$().data

两个方法很相似,但是有区别,简单说一下:

$.data():jq的静态方法,也就是jQuery.data()直接调用

$().data():实例方法,先有实例,才能调用这个方法,例如:$("#id").data("name","zhangsan")

区别:

通过例子说下:

var div1 = $("#d1");
var div2 = $("#d1");
$.data(div1, "name", "zhangsan");
$.data(div2, "name", "lisi");
document.write($.data(div1).name);//zhangsan
document.write($.data(div2).name);//zhangsan

div1.data("name", "zhangsan");
div2.data("name", "lisi");
document.write(div1.data("name"));//lisi
document.write(div2.data("name"));//lisi

 

顺便说一下他们定义的来源,$.extend(),$.fn.extend();这篇文章讲的不错,大家可以看一下http://caibaojian.com/jquery-extend-and-jquery-fn-extend.html

$.extend():增加全局函数、对象,相当于给jQuery这个类增加了静态方法

$.fn.extend():这个是对jQuery.prototype进得扩展(原来 jQuery.fn = jQuery.prototype),就是为jQuery类添加“成员函数”

ok,进入正题,先来看静态方法:$.data();

举几个例子:

$.data($("#id"),"name","zhangsan");

$.data({},"name","zhangsan");

$.data({},{"name",function(){}});

你可能感兴趣的:($.data()、$().data)