--- title: HTMLElement.dataset slug: Web/API/HTMLElement/dataset translation_of: Web/API/HTMLOrForeignElement/dataset ---
{{ APIRef("HTML DOM") }}
HTMLElement.dataset
允許在讀取與寫入模式時使用HTML或DOM裡,所有設置在元件上的自定義資料屬性(data-*)。他是一個DOMStringMap,每個項目表示一個不同的資料屬性。須注意的是,資料集(dataset)可以被讀取,但不能直接被修改。所有修改必須經由其眾多"屬性"才行,也就是資料屬性。另外,雖然HTML data-
屬性與它相關的 DOM dataset.
名稱不同,但是他們總是有相似之處:
data-
。後面則只接受字母、數字還有以下的符號: dash (-
), 點 (.
), 冒號 (:
), 底線(_
) -- 但不包含任何ASCII 大寫字母(A 到 Z)。除了以下的資訊之外,你也可以在 Using data attributes.此篇文章找到使用HTML資料屬性的用法。
dash-style 到 camelCase: 將自訂義的資料屬性名稱變換至{{ domxref("DOMStringMap") }}各項目的key值,需根據以下規則:
data-
(包含dash)。U+002D
)都要被移除,接在後面的字母被換成相對應的大寫字母。camelCase 到 dash-style: 與上述相反,將key值轉為資料屬性名稱,需根據以下規則:
data-
。上面所提的限制是為了確保兩個轉換方法互為相反。
舉例來說,資料屬性名稱 data-abc-def
之對應key值為abcDef
。
<div id="user" data-id="1234567890" data-user="johndoe" data-date-of-birth>John Doe</div> let el = document.querySelector('#user'); // el.id == 'user' // el.dataset.id === '1234567890' // el.dataset.user === 'johndoe' // el.dataset.dateOfBirth === '' el.dataset.dateOfBirth = '1960-10-03'; // 設定 DOB. // 'someDataAttr' in el.dataset === false el.dataset.someDataAttr = 'mydata'; // 'someDataAttr' in el.dataset === true
規範 | 狀態 | 備註 |
---|---|---|
{{SpecName('HTML WHATWG', "dom.html#dom-dataset", "HTMLElement.dataset")}} | {{Spec2('HTML WHATWG')}} | No change from latest snapshot, {{SpecName('HTML5.1')}} |
{{SpecName('HTML5.1', "dom.html#dom-dataset", "HTMLElement.dataset")}} | {{Spec2('HTML5.1')}} | Snapshot of {{SpecName('HTML WHATWG')}}, no change from {{SpecName('HTML5 W3C')}} |
{{SpecName('HTML5 W3C', "dom.html#dom-dataset", "HTMLElement.dataset")}} | {{Spec2('HTML5 W3C')}} | Snapshot of {{SpecName('HTML WHATWG')}}, initial definition. |
{{ CompatibilityTable() }}
功能 | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基本支援 | 8 | {{CompatVersionUnknown}} | {{ CompatGeckoDesktop("6.0") }} | 11 | 11.10 | 6 |
功能 | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本支援 | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile(6)}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |