Я полагаю, что вы ссылаетесь на атрибуты 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-*]
уменьшают количество разметки / сценария, необходимое для того же самого.
Если вы не хотите его использовать, вам не нужно.Существует множество способов связать данные с элементами, это просто новый.
Кроме того, новый JavaScript-API dataset
предоставляет согласованные средства декларативного доступа к значениям, хранящимся в [data-*]
атрибутов.
Для пользователей jQuery .data()
и .attr()
могут использоваться для доступа к [data-*]
атрибутам, а я написалподробный ответ о том, когда вы хотите использовать один над другим .