$.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(){}});

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章