data属性の値を取得または設定

data属性の値を取得または設定するには、element.datasetプロパティを使用します。

  • ※ IE10以下は対応していません。

構文

取得

// すべてのdata属性
var dataAttrs = element.dataset;

// 特定のdata属性値
var attrValue = element.dataset.~;

設定

element.dataset.~ = setValue;

戻り値:element.dataset

付与されているdata属性をハッシュ(連想配列)で返します。

戻り値:element.dataset.~

指定したdata属性名の値、属性が存在しない場合はundefined、属性の値が存在しない場合は空文字を返します。

サンプルコード

HTML

<div id="sample" data-sample="abc" data-sample-foo="123" data-sample-bar>サンプル</div>

JavaScript

var elem       = document.getElementById('sample'),
    dataAttrs  = elem.dataset, // 付与されているdata属性すべてを取得
    attrValue1 = dataAttrs.sampleFoo, // 属性data-sample-fooを取得
    attrValue2 = dataAttrs.sampleBar, // 値が空の属性data-sample-barを取得
    attrValue3 = dataAttrs.sampleBaz; // 存在しない属性data-sample-bazを取得

dataAttrs.sampleQux = 'あいうえお'; // 属性data-sample-quxを設定

alert(dataAttrs.sampleQux);
alert(attrValue1);
alert(attrValue2);
alert(attrValue3);

IE10以下への対応

IE10以下への対応については、取得はelement.getAttributeメソッド、設定はelement.setAttributeメソッドを使用します。
使い方は次のページを参照してください。
属性値の取得
属性値の設定

JavaScript逆引きリファレンス一覧へ戻る