Ответ 1
Я предполагаю, что вы ссылаетесь на атрибуты HTML5 [data-*]
.
Преимущество состоит в том, что вы можете легко связать некоторые данные сценариев (все еще семантические, но не для отображения) с вашими элементами без необходимости вставлять встроенный javascript повсюду, и он будет действительным HTML5. Чтобы сделать то же самое в HTML4, потребуется указать собственное пространство имен и добавить некоторые атрибуты с именами.
Скажем, у вас есть список предметов для продажи, вы можете захотеть сохранить числовую цену, не пытаясь разобрать строку:
<ul>
<li data-price="5">Item 1 is only $5 this week!</li>
<li data-price="1">Sale on Item 2, only $1</li>
...
</ul>
Если вы разрешаете вашему пользователю отмечать несколько различных предметов для покупки, вы можете легко вывести числовое значение, чтобы отобразить текущую итоговую сумму.
В качестве альтернативы вы могли бы поместить числа в диапазон с определенным классом, найти правильный диапазон на нужном элементе и вытащить значение таким образом, но атрибуты [data-*]
уменьшают количество разметки /script необходимо сделать то же самое.
Если вы не хотите его использовать, вам не нужно. Существует много способов связывания данных с элементами, это просто новый.
Кроме того, новый dataset
JavaScript API обеспечивает согласованное средство декларативного доступа к значениям, хранящимся в атрибутах [data-*]
.
Для пользователей jQuery .data()
и .attr()
можно использовать для доступа к атрибутам [data-*]
, а Я написал подробный ответ о том, когда вы захотите использовать один за другим.