Атрибуты данных позволяют создавать пользовательские атрибуты для хранения произвольной информации. Данные могут быть получены с помощью скриптов . Имя атрибута должно обязательно начинаться с data-, дальше можно использовать латинские буквы в нижнем регистре, цифры и следующие символы: дефис (-), двоеточие (:), подчёркивание (_).
Вообще можно создавать любые нестандартные атрибуты, обратиться к которым можно с помощью методов JavaScript setAttribute и getAttribute, однако таким образом нельзя обратится к атрибуту через свойство элемента. Поэтому в HTML5 была добавлена возможность использования пользовательских атрибутов посредством глобального атрибута data-*, доступ к которому можно осуществить через свойство элемента dataset.
Пользовательские атрибуты data-* предназначены для хранения пользовательских данных, состояний, аннотаций и т.д., для которых нет более подходящих атрибутов или элементов.
<element data-* = "value">
Например,
<span data-mytrans-en="Contacts">Контакты</span>
В коде JavaScript можно получить значение этого атрибута или задать:
значение = элемент.dataset.атрибут;
элемент.dataset.атрибут = значение;
Например в нашем случае:
val = el.dataset.mytransEn;
el.dataset.mytransEn = val;
Имена атрибутов преобразуются в свойство по определенным правилам:
data- заменяется на dataset.;data-has-payment-request преобразуется в переменную dataset.hasPaymentRequest. Обратите внимание, что первая буква ('h') после data- остается в нижнем регистре.| Базовая поддержка | 7 | 12 | 6 | 11 | 11.5 | 5.1 |
|---|
| Базовая поддержка | 3 | 70 | да | да | 12 | 5 | да |
|---|