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
メソッドを使用します。
使い方は次のページを参照してください。
属性値の取得
属性値の設定