[Edge]。読取専用。→
element に設定されたカスタム データ属性(data-*)への読み取り/書き込みする為の DOMStringMap を示します。
Note: dataset プロパティ自体は読み取ることができますが、直接書き込むことはできません。代わりに、すべての書き込みは dataset 内の個々のプロパティに対して行う必要があり、それは data 属性を表します¶。
| element | HTMLElement オブジェクト。 |
|---|
DOMStringMap オブジェクト。
→
ダッシュス タイルからキャメルケースへの変換
カスタム データ属性名は、次のルールに従って DOMStringMap 項目のキーに変換されます。
HTML:
<div id="user" data-id="1234567890" data-user="johndoe" data-date-of-birth> John Doe</div>
JavaScript:
const el = document.querySelector('#user');
// el.id === 'user'
// el.dataset.id === '1234567890'
// el.dataset.user === 'johndoe'
// el.dataset.dateOfBirth === ''
// データ属性の設定
el.dataset.dateOfBirth = '1960-10-03';
// 結果: el.dataset.dateOfBirth === 1960-10-03
delete el.dataset.dateOfBirth;
// 結果: el.dataset.dateOfBirth === undefined
// 'someDataAttr' in el.dataset === false
el.dataset.someDataAttr = 'mydata';
// 結果: 'someDataAttr' in el.dataset === true
HTML:
<DIV class="Test" data-id="1234567890" data-user="johndoe" data-date-of-birth > John Doe</DIV>
JavaScript:
EC=document.getElementsByClassName("Test"); //class名「Test」の要素コレクションを得る。
//=[object]:[object HTMLCollection]
//0=[object]:[object HTMLDivElement]
//length=[number]:1
//item=[function]:function item() { [native code] }
//namedItem=[function]:function namedItem() { [native code] }
D=EC[0].dataset; //=[object]:[object DOMStringMap]
//id=[string]:1234567890
//user=[string]:johndoe
//dateOfBirth=[string]:
EC[0].dataset.dateOfBirth=true; //真偽値で値を設定してみる。
D=EC[0].dataset.dateOfBirth; //=[string]:true。文字列となった。
D=EC[0].dataset['dateOfBirth']; //=[string]:true。ブラケット記法でアクセス。