data-*属性 - HTML
HTML5からはタグの中にdata-*
属性といったような「独自データ属性」というものを定義できるらしい。data-*
に遭遇したときには「自分で定義してる属性だー」って思えばいい
JavaScriptからはHTMLElement.dataset
プロパティでアクセスできる
JavaScriptなどに渡したい値を設定しておくのかな?よくわかってないです!!!
JavaScriptからdata-*属性の値を取得
値の取得は要素.dataset.属性名
でできる
例外としてはdata-phone-number
みたいに-
で繋がっている場合にはphoneNumber
とキャメルケースに変換した値でアクセスできる。要素.dataset.phoneNumber
みたいな
<div class="prefecture" data-place="tokyo"> 東京都品川区 </div>
const prefectureElem = document.querySelector(".prefecture"); const place = prefectureElem.dataset.place; console.log(place);
data-place
という独自の属性を定義- JavaScript側で
HTMLElement.dataset.place
で取得可能
data-
以降の文字列がプロパティとして扱える
See the Pen data-*を使ったデータの取得 by tamago (@tamago324) on CodePen.
HTMLElement.dataset.プロパティ名
で取得できる値はstring
型 (2018/04/18 追記)
数値で値を設定していても、stringで返ってくるため、数値で扱いたい場合にはキャストしないといけない