@DeniSidorenko

Как внутри innerHTML вставить код javascript цикла?

Добрый день есть такой код
homeItem.innerHTML = `
    <div class="home-item__top">
      <div class="home-item__price">${priceItem} Р</div>
      <div class="home-item__logo">
        <img src="https://${carrierURL}" alt="">
      </div>
    </div>
    <div class="home-item__points">
      // Начало foreach
      <div class="home-point">
        <ul>
          <li><span>MOW – HKT</span><span>10:45 – 08:00</span>
          </li>
          <li><span>В пути</span><span>21ч 15м</span>
          </li>
          <li><span>1 пересадка</span><span>HKG</span>
          </li>
        </ul>
      </div>
      // Конец foreach
    </div>
  `;


Каким образом можно добавить цикл foreach дабы .home-point несколько раз повторялся в зависимости от количество итерации
  • Вопрос задан
  • 466 просмотров
Решения вопроса 2
notiv-nt
@notiv-nt
Как ваше ничего? Да, моё тоже
`
<div class="home-item__points">
  ${arr.map((item) => `
  // Начало foreach
  <div class="home-point">
    <ul>
      <li><span>MOW – HKT</span><span>10:45 – 08:00</span>
      </li>
      <li><span>В пути</span><span>21ч 15м</span>
      </li>
      <li><span>1 пересадка</span><span>HKG</span>
      </li>
    </ul>
  </div>
  // Конец foreach
  `).join('')}
</div>
`
Ответ написан
@inzeppelin
Запишите все, что идет до "// Начало foreach" в переменную, типа
let markup = `...`

потом сделайте свой forEach и в каждой итерации конкатенируйте переменную "markup" с новым home-point, типа
[...].forEach(item => {
  markup += item;
})


И в самом конец добавьте закрывающий див, типа
markup += '</div>';

А потом просто сделайте так:
homeItem.innerHTML = markup;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы