jQuery的data()方法 – WEB前端開發

我是創始人李巖:很抱歉!給自己產品做個廣告,點擊進來看看。  

在此之前,歡迎先閱讀HTML 5 的data-* 自定義屬性

如果你使用jQuery類庫,那么你可以非常愉悅的使用jquery的data()方法存取data-*自定義屬性,方法允許我們在DOM元素上綁定任意類型的數據,避免了循環引用的內存泄漏風險。主要的方法如下:

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

從jQuery 1.4.3起,?HTML 5 data- 屬性?將自動被引用到jQuery的數據對象中。

例如HTML:

1
<div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"John"}'></div>

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

1
2
3
4
$("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()?來設置或獲取值要快一些。

更多參閱:

http://www.css88.com/jqapi-1.9/data/

聲明: 本文采用 BY-NC-SA 協議進行授權 | WEB前端開發
轉載請注明轉自《jQuery的data()方法

本文被轉載1次

首發媒體 Web前端開發 | 轉發媒體

隨意打賞

提交建議
微信掃一掃,分享給好友吧。
国产麻豆精品入口在线观看| 国产福利微拍精品一区二区| 国产精品麻豆免费版| 青青青青久久精品国产| 免费人妻精品一区二区三区 | 精品国产成a人在线观看| 久久国产视频精品| 亚洲午夜精品一级在线播放放| 精品香蕉一区二区三区| 久久精品香蕉视频| 精品国产爽爽AV| 国产精品一区二区在线观看| 国产精品免费精品自在线观看| 精品久久久久久久| 国产精品毛片a∨一区二区三区| 精品深夜AV无码一区二区老年| 久久9精品久久久| 国产午夜亚洲精品午夜鲁丝片| 精品视频一区在线观看| 人妻少妇偷人精品视频| 精品无码一区二区三区爱欲 | 亚洲精品无码久久久久AV麻豆| 精品一区二区三人妻视频 | 99精品国产高清一区二区| 国产综合成人色产三级高清在线精品发布 | 国产VA免费精品高清在线| 精品免费久久久久久成人影院| 国产精品视频网站你懂得| 色欲国产麻豆一精品一AV一免费| 99久久精品国产麻豆| 国产精品 91 第一页| 国产一区二区三区国产精品| 成人精品视频一区二区三区尤物| 精品久久久久久无码专区不卡| 久久一区二区精品综合| 久久91精品国产91久久小草| 精品国产91久久久久久久a| 日韩视频中文字幕精品偷拍| 精品无码久久久久久久久水蜜桃| 亚洲精品永久在线观看| 2021国内精品久久久久久影院|