jQuery data()方法允許我們?cè)谠厣洗鎯?chǔ)任意數(shù)據(jù),然后隨時(shí)通過(guò)該元素來(lái)訪問數(shù)據(jù)。
數(shù)據(jù)存儲(chǔ)在元素的data屬性中,可以很容易地從任何地方讀取和修改。下面是一個(gè)簡(jiǎn)單的示例:
//在元素上存儲(chǔ)數(shù)據(jù) $("#elem").data("mydata", { name: "John", age: 30 }); //從元素中獲取數(shù)據(jù) var data = $("#elem").data("mydata"); alert(data.name + " is " + data.age + " years old.");
在某些情況下,我們可能只需要元素?cái)?shù)據(jù)的一部分。在這種情況下,我們可以使用data()方法的第二個(gè)參數(shù)來(lái)指定要獲取的數(shù)據(jù),其語(yǔ)法如下:
//獲取"data-mydata"屬性的值 var value = $("#elem").data("mydata"); //獲取"data-mydata"屬性中的"name"屬性的值 var name = $("#elem").data("mydata").name; //使用屬性名獲取"data-mydata"屬性的值 var value = $("#elem").data()["mydata"];
需要注意的是,如果我們存儲(chǔ)的數(shù)據(jù)不是對(duì)象,而是字符串或數(shù)字等基本數(shù)據(jù)類型,則無(wú)法使用第二個(gè)參數(shù)來(lái)截取數(shù)據(jù)。在這種情況下,我們只能訪問整個(gè)數(shù)據(jù)。
總的來(lái)說(shuō),jQuery data()方法是一個(gè)非常強(qiáng)大的工具,可以為我們的JavaScript代碼帶來(lái)很多便利。