jQuery中的data()方法是用來綁定一個(gè)數(shù)據(jù)對象到DOM元素上的,對象可以是任何類型的數(shù)據(jù),包括JavaScript原生對象,數(shù)組甚至是函數(shù)等。但是有時(shí)候我們需要?jiǎng)h除這些數(shù)據(jù),這時(shí)就可以使用data()方法的delete參數(shù)了,下面是一個(gè)示例:
// 綁定一個(gè)數(shù)據(jù)對象到元素上 $('div').data('myData', {name: 'John', age: 18}); // 刪除綁定的數(shù)據(jù)對象 $('div').data('myData', null);
在上面的示例中,我們首先使用data()方法綁定了一個(gè)數(shù)據(jù)對象到一個(gè)div元素上,其屬性名為'myData',屬性值為一個(gè)包含name和age屬性的JavaScript原生對象。然后我們又使用data()方法的delete參數(shù)將這個(gè)綁定的數(shù)據(jù)對象刪除,將屬性值設(shè)為null即可。
需要注意的是,使用delete參數(shù)刪除數(shù)據(jù)對象只會刪除當(dāng)前綁定的對象,它并不會影響其它綁定在這個(gè)元素上的數(shù)據(jù)對象。如果要一次性刪除所有綁定的數(shù)據(jù)對象,可以通過removeData()方法來實(shí)現(xiàn),示例如下:
// 綁定多個(gè)數(shù)據(jù)對象到元素上 $('div').data('myData1', {name: 'John', age: 18}); $('div').data('myData2', [1, 2, 3]); $('div').data('myData3', function(){console.log('Hello World!')}); // 一次性刪除所有綁定的數(shù)據(jù)對象 $('div').removeData();
在上面的示例中,我們先使用data()方法分別將三個(gè)不同類型的數(shù)據(jù)對象綁定到一個(gè)div元素上,然后使用removeData()方法來一次性將所有綁定的數(shù)據(jù)對象全部刪除。這里不需要指定任何參數(shù),因?yàn)閞emoveData()方法會直接刪除該元素上所有的數(shù)據(jù)對象。