Я пытаюсь присоединить eventListeners к каждому из этих li в ul моего HTML. Это для домашнего задания, поэтому я не могу изменить HTML вообще. Вот мой HTML, li, который я пытаюсь изменить, это две кнопки внутри класса ul 'pagination':
<body>
<!-- Gallery HTML -->
<section id="gallery">
<h2>Image <strong>Gallery</strong></h2>
<!-- Gallery Image & Details -->
<article>
<p><img
src="images/winter.jpg"
alt="Winter Landscape: Snow covered mountains">
</p>
<h3>Image Caption</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</article>
<!-- Thumbnail Pagination -->
<ul class="pagination">
<li><button>previous</button></li>
<li><button>next</button></li>
</ul>
</section>
<!-- Javascript -->
<script src="js/gallery.js"></script>
</body>
Я пробовал это в своем JavaScript:
let nextButton = pageSection.getElementsByTagName('li:first-of-type');
let prevButton = pageSection.getElementsByTagName('li:last-of-type');
Однако, если я console.log (nextButton) или console.log (prevButton), они оба возвращаются как HTMLcollection [] в консоли браузера. Я не уверен, правильно ли он нацеливается.
Вот пример eventListener:
nextButton.addEventListener("click", function changeImageNext(){
for (i = 0; i < templateArray.length; i++){
// console.log(articles[i]+ " " + i);
activeArticle = articles.length[i + 1];
// inserts the updated html into the html file
galleryHeading.insertAdjacentHTML('afterend',templateArray[i]);
}
});
Но в браузере возвращается эта ошибка: Uncaught TypeError: nextButton.addEventListener не является функцией
Я только начал изучать JavaScript и HTML на этой неделе, так что я еще не очень хорошо разбираюсь. Кроме того, я не могу использовать JQuery или любые другие фреймворки!
Спасибо за вашу помощь!