html5 dataset是新的HTML5標準,允許你在普通的元素標簽里嵌入類似data-*的屬性,來實現(xiàn)一些簡單數(shù)據(jù)的存取。它的數(shù)量不受限制,并且也能由JavaScript動態(tài)修改,也支持CSS選擇器進行樣式設置。這使得data屬性特別靈活,也非常強大。有了這樣的屬性我們能夠更加有序直觀的進行數(shù)據(jù)預設或存儲。那么在不支持HTML5標準的瀏覽器中,我們如何實現(xiàn)數(shù)據(jù)存取? jQuery就提供了一個.data()的方法來處理這個問題
使用jQuery初學者一般不是很關心data方式,這個方法是jquery內部預用的,可以用來做性能優(yōu)化,比如sizzle選擇中可以用來緩存部分結果集等等。當然這個也是非常重要的一個API了,常常用于我們存放臨時的一些數(shù)據(jù),因為它是直接跟DOM元素對象綁定在一起的
jQuery提供的存儲接口
jQuery.data( element, key, value ) //靜態(tài)接口,存數(shù)據(jù)
jQuery.data( element, key ) //靜態(tài)接口,取數(shù)據(jù)
.data( key, value ) //實例接口,存數(shù)據(jù)
.data( key ) //實例接口,存數(shù)據(jù)
2個方法在使用上存取都是通一個接口,傳遞元素,鍵值數(shù)據(jù)。在jQuery的官方文檔中,建議用.data()方法來代替。
我們把DOM可以看作一個對象,那么我們往對象上是可以存在基本類型,引用類型的數(shù)據(jù)的,但是這里會引發(fā)一個問題,可能會存在循環(huán)引用的內存泄漏風險
通過jQuery提供的數(shù)據(jù)接口,就很好的處理了這個問題了,我們不需要關心它底層是如何實現(xiàn),只需要按照對應的data方法使用就行了
同樣的也提供2個對應的刪除接口,使用上與data方法其實是一致的,只不過是一個是增加一個是刪除罷了
jQuery.removeData( element [, name ] ) .removeData( [name ] )
參考右邊的代碼區(qū)域,2個代碼段分別描述了靜態(tài)與實例data的使用
請驗證,完成請求
由于請求次數(shù)過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報