言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

JavaScript辞典

  1. トップページ
  2. JavaScript辞典
  3. HTML要素.dataset

HTML要素.dataset 対応: HTML5(IE起源→標準化)

HTML要素のカスタムデータ属性(data-*属性)を読み書きするためのプロパティです。HTMLにデータを埋め込み、JavaScriptから簡単にアクセスできます。

構文

// data属性の値を取得します。
var value = element.dataset.キー名;

// data属性の値を設定します。
element.dataset.キー名 = "値";

// data属性を削除します。
delete element.dataset.キー名;

サンプルコード

<div id="user" data-name="太郎" data-age="25" data-is-active="true">ユーザー情報</div>
var user = document.querySelector("#user");

// data属性の値を取得します。『data-』の部分は省略します。
console.log(user.dataset.name); // 『太郎』と出力されます。
console.log(user.dataset.age); // 『25』と出力されます。

// ハイフン区切りの属性名はキャメルケースに変換します。
// 『data-is-active』は『isActive』でアクセスします。
console.log(user.dataset.isActive); // 『true』と出力されます。

// data属性の値を設定します。
user.dataset.role = "admin";

// data属性を削除します。
delete user.dataset.age;

概要

『HTML要素.dataset』はHTML要素に設定されたカスタムデータ属性(data-*属性)にアクセスするためのプロパティです。HTMLの属性名から『data-』を除いた部分がキー名になり、ハイフン区切りの場合はキャメルケースに変換してアクセスします。例えば『data-user-id』は『dataset.userId』で取得・設定できます。

『HTML要素.dataset』で取得される値は常に文字列です。数値として使いたい場合は『Number()』や『parseInt()』で変換する必要があります。同様に、真偽値として使いたい場合も文字列の『"true"』『"false"』として返されるため、比較時に注意してください。

data属性はHTMLの仕様で認められた正式なデータ埋め込みの方法です。『HTML要素.getAttribute()』でも取得可能ですが、『HTML要素.dataset』の方がオブジェクトのプロパティとして直感的にアクセスでき、読み書きも簡潔に記述できます。

対応ブラウザ

Chrome Chrome
49 以降
6 以前 ×
Firefox Firefox
57 以降
5 以前 ×
Safari Safari
18 以降
5 以前 ×
Edge Edge
80 以降
11 以前 ×
IE IE
11 以降
10 以前 ×
Opera Opera
48 以降
10.5 以前 ×
iOS Safari iOS Safari
18 以降
4 以前 ×
Android Browser Android Browser
37 以降
2 以前 ×
Chrome Android Chrome Android
36 以降
17 以前 ×
Firefox Android Firefox Android
79 以降
5 以前 ×

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。