欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery中使用data()方法讀取HTML5自定義屬性data-*實(shí)例

 更新時(shí)間:2014年04月11日 08:39:13   作者:  
如果你使用jQuery類庫,那么你可以非常愉悅的使用jquery的data()方法存取data-* 自定義屬性,方法允許我們?cè)贒OM元素上綁定任意類型的數(shù)據(jù),避免了循環(huán)引用的內(nèi)存泄漏風(fēng)險(xiǎn)

主要的方法如下:

復(fù)制代碼 代碼如下:

.data( key, value )
.data( obj )
.data( key )
.data()

從jQuery 1.4.3起, HTML 5 data- 屬性 將自動(dòng)被引用到j(luò)Query的數(shù)據(jù)對(duì)象中。
例如HTML:
復(fù)制代碼 代碼如下:
<div data-role = "page" data-last-value = "43" data-hidden = "true" data-options = '{"name":"John"}' > </div>

下面的 jQuery代碼都是返回 true 的:
復(fù)制代碼 代碼如下:

$ ( "div" ) . data ( "role" ) === "page" ;
$ ( "div" ) . data ( "lastValue" ) === 43 ;
$ ( "div" ) . data ( "hidden" ) === true ;
$ ( "div" ) . data ( "options" ) . name === "John" ;

和html5的api不同的是,jQuery會(huì)嘗試將字符串轉(zhuǎn)換為一個(gè)JavaScript值(包括布爾值(booleans),數(shù)字(numbers),對(duì)象(objects),數(shù)組(arrays)和空(null))。如果這樣做不會(huì)改變數(shù)值的表示,那么該值將轉(zhuǎn)換為一個(gè)數(shù)字(number)。例如,“1E02”和“100.000”是等同于數(shù)字(數(shù)字值100),但將轉(zhuǎn)換它們會(huì)改變他們的表示,所以他們被保留為字符串。字符串值“100”被轉(zhuǎn)換為數(shù)字100。

如果數(shù)據(jù)(data)屬性是一個(gè)對(duì)象(以“{”開始)或數(shù)組(以'[‘開始),可以用jQuery.parseJSON 將其解析成字符串;它必須遵循 有效的JSON的語法 ,包括帶雙引號(hào)的屬性名稱。如果該值不能解析為一個(gè)JavaScript值,它將被保留為字符串。


如果想將取出的屬性值直接當(dāng)作字符串的話,請(qǐng)使用 attr() 方法。
data-屬性是在第一次使用這個(gè)數(shù)據(jù)屬性后不再存取或改變(所有的數(shù)據(jù)值都在jQuery內(nèi)部存儲(chǔ))。
調(diào)用 .data() 時(shí)如果不帶參數(shù),將會(huì)以 JavaScript 對(duì)象的形式獲取所有數(shù)據(jù)。這個(gè)對(duì)象可以安全的存放在變量中,因?yàn)橐坏┻@個(gè)新對(duì)象被提取出來,之后對(duì)元素進(jìn)行的 .data(obj) 操作,將不會(huì)再影響這個(gè)對(duì)象。另外,直接操作這個(gè)對(duì)象會(huì)比每次調(diào)用 .data() 來設(shè)置或獲取值要快一些。

相關(guān)文章

最新評(píng)論