Какой тег в 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-документ или если "фрагменты", как в моем примере, также разрешено)