--- title: HTMLElement.dataset slug: Web/API/HTMLOrForeignElement/dataset translation_of: Web/API/HTMLOrForeignElement/dataset original_slug: Web/API/HTMLElement/dataset ---
{{ APIRef("HTML DOM") }}
Свойство HTMLElement.dataset
предоставляет доступ как для чтения, так и для изменения всех пользовательских дата-атрибутов custom data attributes (data-*
) , установленных у элемента. Это map of DOMString, одна запись для каждого пользовательского атрибута данных. Обратите внимание, свойство dataset
доступно только для чтения. Для записи должны использоваться его "свойства", которые представлены data-атрибутами. Также обратите внимание, что HTML data-
атрибут и соответствующий ему DOM-dataset.
property не имеют одно и то же имя, но они всегда похожи:
data-
". Оно может состоять из букв, цифр и символов: дефис-минус (-
, U+002D
), точка (.
), двоеточие (:
), подчеркивание (_
). Имя НЕ МОЖЕТ включать в себя заглавные буквы.dash-style
в camelCase
: имя пользовательского дата-атрибута преобразуется в ключ для {{ domxref("DOMStringMap") }} по следующим правилам:
data-
(вместе с дефисом);U+002D
) со следующими за ними ASCII-символами a
-z
в нижнем регистре: черта удаляется, а символ преобразуется в верхний регистр;camelCase
в dash-style
: обратное преобразование ключа в имя атрибута производится по следующим правилам:
a
-z
в нижнем регистре (до преобразования);data-
;A
-Z
в верхнем регистре заменяются на дефис с символом в нижнем регистре;Ограничение в правилах гарантирует, что эти два преобразования являются обратными друг другу.
Например, атрибуту data-abc-def
соответствует ключ abcDef
.
<div id="user" data-id="1234567890" data-user="johndoe" data-date-of-birth>John Doe</div> let el = document.querySelector('#user'); // el.id == 'user' // el.dataset.id === '1234567890' // el.dataset.user === 'johndoe' // el.dataset.dateOfBirth === '' el.dataset.dateOfBirth = '1960-10-03'; // set the DOB. // 'someDataAttr' in el.dataset === false el.dataset.someDataAttr = 'mydata'; // 'someDataAttr' in el.dataset === true
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', "dom.html#dom-dataset", "HTMLElement.dataset")}} | {{Spec2('HTML WHATWG')}} | No change from latest snapshot, {{SpecName('HTML5.1')}} |
{{SpecName('HTML5.1', "dom.html#dom-dataset", "HTMLElement.dataset")}} | {{Spec2('HTML5.1')}} | Snapshot of {{SpecName('HTML WHATWG')}}, no change from {{SpecName('HTML5 W3C')}} |
{{SpecName('HTML5 W3C', "dom.html#dom-dataset", "HTMLElement.dataset")}} | {{Spec2('HTML5 W3C')}} | Snapshot of {{SpecName('HTML WHATWG')}}, initial definition. |
{{Compat("api.HTMLElement.dataset")}}