@sxivanov

JavaScript: forEach выводит на страницу только последний элемент массива. Как исправить?

Всем привет, помогите обучающемуся! :)
В рамках курса работаю с JS и вот загвоздка:
Последний forEach отображает на странице только последний элемент массива movieDB.movies
НО! если вместо конструкции с innerHTML вписывать consol.log(item), то в консоле появляются все элементы.
'use strict';

const movieDB = {
    movies: [
        "Логан",
        "Лига справедливости",
        "Ла-ла лэнд",
        "Одержимость",
        "Скотт Пилигрим против..."
    ]
};

const img = document.querySelectorAll('.promo__adv img'),
      genre = document.querySelector('.promo__genre'),
      bg = document.querySelector('.promo__bg'),
      films = document.querySelectorAll('.promo__interactive-list .promo__interactive-item'),
      bgfilms = document.querySelector('.promo__interactive-list');
    
img.forEach(item => 
    item.remove());

genre.textContent = 'ДРАМА';

bg.style.cssText = "background: url('img/bg.jpg'); background-size: cover; background-position: top;";

films.forEach(item => 
    item.remove());

movieDB.movies.forEach(item =>
    bgfilms.innerHTML = `<li class="promo__interactive-item">${item}<div class="delete"></div></li>`);
  • Вопрос задан
  • 798 просмотров
Решения вопроса 3
mmmaaak
@mmmaaak
Ты каждый раз перезаписываешь innerHTML, вместо этого нужно прибавлять к уже записанному
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
bgfilms.innerHTML += `<li class="promo__interactive-item">${item}<div class="delete"></div></li>`
Ответ написан
Комментировать
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
bgfilms.innerHTML += `<li class="promo__interactive-item">${item}<div class="delete"></div></li>`


Вы просто перезаписываете постоянно содержимое тега.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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