jQuery中使用data()方法讀取HTML5自訂屬性data-*執行個體

來源:互聯網
上載者:User

標籤:bool   java   參數   name   array   避免   jquery代碼   div   循環參考   

如果你使用jQuery類庫,那麼你可以非常愉悅的使用jquery的data()方法存取data-* 自訂屬性,方法允許我們在DOM元素上綁定任意類型的資料,避免了循環參考的記憶體流失風險

主要的方法如下:

複製代碼代碼如下:
.data( key, value )
.data( obj )
.data( key )
.data()


從jQuery 1.4.3起, HTML 5 data- 屬性 將自動被引用到jQuery的資料對象中。
例如HTML:

複製代碼代碼如下:<div data-role = "page" data-last-value = "43" data-hidden = "true" data-options = ‘{"name":"John"}‘ > </div>


下面的 jQuery代碼都是返回 true 的:

複製代碼代碼如下:
$ ( "div" ) . 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() 來設定或擷取值要快一些。

jQuery中使用data()方法讀取HTML5自訂屬性data-*執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.