Какой тег в HTML следует использовать без особого смысла, только для переноса метаданных?
Есть ли какой-либо бесполезный тег HTML, который я должен использовать для переноса дополнительных метаданных, например атрибутов JavaScript для указанного блока/области? как:
<div class="item">
<meaninglesselement data-id="123">
<meaninglesselement data-type="sometype">
<meaninglesselement data-validate="true">
...
</div>
Я знаю, что могу переносить атрибуты data-*
на div class="item"
, но я хочу решение для чистого кода, даже если будет много параметров.
Ответы
Ответ 1
Данные применяются к div, атрибуты должны быть в div. Если вы хотите отформатировать код с помощью одного элемента на строку, вы можете.
<div class="item"
data-id="123"
data-type="sometype"
data-validate="true">
Нет элементов, предназначенных для хранения метаданных, которые входят в тело документа.
Ответ 2
Если это метаданные для всего документа, которые могут быть полезны для посетителей или ботов, вы должны использовать элемент meta
. Вы можете использовать или зарегистрированный name
values (но вы могли зарегистрировать новые в вики).
Для метаданных, которые необходимы только для ваших скриптов и т.д., вы можете использовать data-*
атрибуты для существующих элементов (например, body
), или вы можете использовать элемент script
:
Элемент script
позволяет авторам включать в свои документы динамические script и блоки данных. Элемент не представляет контент для пользователя.
[...]
При использовании для включения блоков данных (в отличие от сценариев) данные должны быть встроены в строку, формат данных должен быть задан с использованием атрибута type
, атрибут src
не должен указываться, а содержимое элемента script
должно соответствовать требованиям, определенным для используемого формата.
Вы можете поместить этот элемент в head
или в тело документа, где фразинг-контент (например, span
) можно использовать, тоже.
Существует информативный пример использования в качестве блока данных (вместо script):
<script type="text/x-game-map">
........U.........e
o............A....e
.....A.....AAA....e
.A..AAA...AAAAA...e
</script>
Таким образом, вы можете использовать HTML или JSON или любой другой формат, который вам нужен.
Если вы хотите использовать HTML, он может (***) выглядеть так:
<div class="item">
<script type="text/html">
<div data-id="123"></div>
<div data-foo="bar"></div>
<div>foobar</div>
</script>
</div>
*** (Я не уверен, если это должен быть "полный" соответствующий HTML-документ или если "фрагменты", как в моем примере, также разрешено)