Не работает код когда вставляю переменную

Рейтинг: 0Ответов: 1Опубликовано: 30.07.2023

Почему в случае, когда я использую document.querySelector, код исправно работает, но стоит только заменить на переменную код перестает работать и реагировать в целом на нажатия, а в некоторых случаях выдавать ошибку?

let /*advert = document.querySelector('.promo__adv').querySelectorAll('img'),
    advTitle = document.querySelector('.promo__adv-title'),
    genre = document.querySelector('.promo__genre'),
    promoBg = document.querySelector('.promo__bg'),
    movieList = document.querySelector('.promo__interactive-list'), */
    trash = document.querySelectorAll('.delete'),
    movieListItem = document.querySelectorAll('.promo__interactive-item');
 
///////////////////////////////////
 
document.querySelectorAll('.promo__interactive-item').forEach(function(item, i){
    document.querySelectorAll('.delete')[i].addEventListener('click', function(){
        movieList.removeChild(item);      
    })
})
 
///////////////////////////////////
 
movieListItem.forEach(function(item, i){
    trash[i].addEventListener('click', function(){
        movieList.removeChild(item);     
    })
})

Ответы

▲ 0

Вероятнее всего DOM не успевает прогрузиться, оберните всё в DOMContentLoaded

document.addEventListener('DOMContentLoaded', function() {
  let movieList = document.querySelector('.promo__interactive-list');
  let trash = document.querySelectorAll('.delete');
  let movieListItem = document.querySelectorAll('.promo__interactive-item');

  trash.forEach(function(item, i) {
    trash[i].addEventListener('click', function(){
      movieList.removeChild(item);   
    });
  });
});