主要的方法如下:
.data( key , value )
.data( obj )
.data( key )
.data()
從jQuery 1.4.3起, HTML 5 data- 屬性將自動被引用到jQuery的資料對像中。
例如HTML:
下面的jQuery程式碼都是回傳true的:
$ ( "div" ) . data" ) . data" role" ) === "page" ;
$ ( "div" ) . data ( "lastValue" ) === 43 ;
$ ( "div" ) . data ( "hidden" ) === true ;
$ ( "div" ) . data ( "options" ) . name === "John" ;
和html5的api不同的是,jQuery會嘗試將字串轉換為一個JavaScript值(包括布林值(booleans),數字(numbers),物件(objects),陣列(arrays)和空(null))。如果這樣做不會改變數值的表示,那麼該值將轉換為一個數字(number)。例如,「1E02」和「100.000」是等同於數字(數字值100),但將轉換它們會改變他們的表示,所以他們被保留為字串。字串值“100”被轉換為數字100。
如果資料(data)屬性是一個物件(以「{」開始)或陣列(以'['開始),可以用jQuery.parseJSON 將其解析成字串;它必須遵循有效的JSON的語法,包括雙引號的屬性名稱。如果該值不能解析為一個JavaScript值,它將保留為字串。
如果想將取出的屬性值直接當作字串的話,請使用 attr() 方法。
data-屬性是在第一次使用這個資料屬性後不再被存取或改變(所有的資料值都在jQuery內部儲存)。
呼叫 .data() 時如果不帶參數,將會以 JavaScript 物件的形式取得所有資料。這個物件可以安全的存放在變數中,因為一旦這個新物件被提取出來,之後對元素進行的 .data(obj) 操作,就不會再影響這個物件。另外,直接操作這個物件會比每次呼叫 .data() 來設定或取得值快一些。