--- title: data-* slug: Web/HTML/Global_attributes/data-* tags: - Global attributes - HTML - Reference translation_of: Web/HTML/Global_attributes/data-* ---
data-*
グローバル属性 はカスタムデータ属性と呼ばれる属性の組を作り、HTML と、スクリプトによる DOM 表現との間で、固有の情報を交換できるようにします。
すべてのカスタムデータは、属性を設定した要素の {{domxref("HTMLElement")}} インターフェイスを通して使用できます。 {{domxref("HTMLElement.dataset")}} プロパティがそれらへのアクセス手段を提供します。
*
は、 XML 名の作成規則に加えて以下の制約に従う名前に置き換えることができます。
xml
で始めてはならない。U+003A
) を含めてはならない。なお、 {{domxref("HTMLElement.dataset")}} プロパティは {{domxref("DOMStringMap")}} であり、またカスタムデータ属性名のハイフン (U+002D
) はその次の文字を大文字化したもの (キャメルケース) に変換されるので、 data-test-value は HTMLElement.dataset.testValue
(または HTMLElement.dataset["testValue"]
) としてアクセスできます。
data-*
属性を追加すると通常の HTML 要素でも、より複雑で強力なプログラムオブジェクトになります。例えばゲームで宇宙船の "スプライト" を、単純な {{HTMLElement("img")}} 要素に class
属性といくつかの data-*
属性を設定したもので表すことができるでしょう。
<img class="spaceship cruiserX3" src="shipX3.png" data-ship-id="324" data-weapons="laserI laserII" data-shields="72%" data-x="414354" data-y="85160" data-z="31940" onclick="spaceships[this.dataset.shipId].blasted()">
もっと深い HTML のデータ属性の使用については、データ属性の使用を参照してください。
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('HTML WHATWG', "dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes", "data-*")}} | {{Spec2('HTML WHATWG')}} | 最新のスナップショットである {{SpecName('HTML5.1')}} から変更なし。 |
{{SpecName('HTML5.1', "dom.html#element-attrdef-global-data", "data-*")}} | {{Spec2('HTML5.1')}} | {{SpecName('HTML WHATWG')}} のスナップショット、 {{SpecName('HTML5 W3C')}} から変更なし |
{{SpecName('HTML5 W3C', "dom.html#element-attrdef-global-data", "data-*")}} | {{Spec2('HTML5 W3C')}} | {{SpecName('HTML WHATWG')}} のスナップショット、初回定義。 |
{{Compat("html.global_attributes.data_attributes")}}