1. HTML 實例jquery
<ul>
<li data-animal-type="bird">Owl</li>
<li data-animal-type="fish">Salmon</li>
<li data-animal-type="spider">Tarantula</li>
</ul>
2.瀏覽器支持
IE Firefox Chrome Safari Opera
支持 支持 支持 支持 支持數據庫
3.定義和用法json
data-* 屬性用於存儲頁面或應用程序的私有自定義數據。瀏覽器
data-* 屬性賦予咱們在全部 HTML 元素上嵌入自定義 data 屬性的能力。服務器
存儲的(自定義)數據可以被頁面的 JavaScript 中利用,以建立更好的用戶體驗(不進行 Ajax 調用或服務器端數據庫查詢)。ide
data-* 屬性包括兩部分:工具
屬性名不該該包含任何大寫字母,而且在前綴 "data-" 以後必須有至少一個字符佈局
屬性值能夠是任意字符串spa
註釋:用戶代理會徹底忽略前綴爲 "data-" 的自定義屬性。代理
語法
<element data-*="somevalue">
值描述
somevalue 規定屬性的值(以字符串)。
4.外加信息
HTML 標籤能夠添加自定義屬性來存儲和操做數據。但這樣作會致使 HTML 語法上不符合 HTML 規範。
HTML5 規範裏增長了一個自定義 data 屬性,自定義data屬性的用法很是的簡單,就能夠往 HTML 標籤上添加任意以 "data-"開頭的屬性。
這些屬性頁面上是不顯示的,它不會影響到你的頁面佈局和風格,但它倒是可讀可寫的。
下面的一個代碼片斷是一個有效的 HTML5 標記:
<div id="item" data-id='123'>11111</div>
但是,怎麼來讀取這些數據呢?你固然能夠遍歷頁面元素來讀取你想要的屬性,但 jquery 已經內置了方法來操做這些屬性。
使用 jQuery 的 .data() 方法來訪問這些"data-*" 屬性。其中一個方法就是 .data(obj),這個方法是在 jQuery1.4.3版本後出現的,它能返回相應的 data 屬性。
舉個例子,你能夠用下面的寫法讀取 data-id 屬性值--123:
var myid= jQuery("#item").data('id');
你還能夠在"data-*" 屬性裏使用 json 語法,
<div id="item" data-id='{"game":"on"}'></div>
你能夠經過 js 直接訪問這個數據,經過 json 的 key 值,你能獲得相應的 value:
var gameStatus= jQuery("#item").data('id').game;
你也能夠經過 .data(key,value) 方法直接給"data-*" 屬性賦值。
一個重要的你要注意的事情是,這些"data-*" 屬性應該和它所在的元素有必定的關聯,不要把它當成存聽任意東西的存儲工具。
儘管"data-*" 是 HTML5 纔出現的屬性,但 jquery 是通用的,因此,在非 HTML5 的頁面或瀏覽器裏,你仍然可使用 .data(obj ) 方法來操做"data-*" 數據。