Есть ли способ упростить создание аналогичных многокомпонентных элементов в HTML5? - PullRequest
0 голосов
/ 02 мая 2018

Я новичок в HTML, и я хочу реализовать довольно большой список пользовательских опций, которые используют переключатели. Различные элементы имеют одинаковый формат и выглядят так:

<p>
  "Question 1 text"
  <input style="radio" name="question1" id="q1_id1">
  <label for="q1_id1">Yes</label>
  <input style="radio" name="question1" id="q1_id2">
  <label for="q1_id2">No</label>
  <input style="radio" name="question1" id="q1_id3">
  <label for="q1_id3">Maybe</label>
</p>
<p>
  "Question 2 text"
  <input style="radio" name="question1" id="q2_id1">
  <label for="q2_id1">Yes</label>
  <input style="radio" name="question1" id="q2_id2">
  <label for="q2_id2">No</label>
  <input style="radio" name="question1" id="q2_id3">
  <label for="q2_id3">Maybe</label>
</p>

и т.д.

Поскольку большая часть этого кода повторяется, мне было интересно, есть ли способ объявить html-объект или что-то еще (я знаю, что html не является объектно-ориентированным языком), как вы делали бы в других языках программирования, чтобы вы может иметь что-то вроде этого:

  1. Определить HTML-объект, который содержит текст и три переключателя
  2. Добавить список этих объектов в документ, изменив только текст вопроса и текст метки кнопки

в нескольких строках html.

Есть ли способ сделать это, или я должен прибегнуть к копированию-вставке?

1 Ответ

0 голосов
/ 02 мая 2018

Нет способа сделать это в HTML. Есть и другие способы:

1) Вы можете использовать язык шаблонов для генерации соответствующего HTML-кода на сервере перед его отправкой пользователю. В зависимости от вашего сервера, есть разные варианты для этого.

2) Вы можете отправлять входные данные в браузер пользователя в формате JSON и генерировать HTML-код, используя Javascript. Это может быть более экономичным, если элемент повторяется много раз, как в большой таблице данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...