gpt4 book ai didi

javascript - 如何在不使用 ID 的情况下在 ul 中定位 li?

转载 作者:行者123 更新时间:2023-11-30 19:08:34 25 4
gpt4 key购买 nike

我试图在我的 HTML 的 ul 中将 eventListeners 附加到这些 li 中的每一个。这是家庭作业,所以我根本无法更改 HTML。这是我的 HTML,我要更改的 li 是 ul 类“分页”中的两个按钮:

    <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[] 返回。我不确定它的目标是否正确。

这里是一个事件监听器的例子:

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]);

}
});

但它在浏览器中返回为这个错误:未捕获的类型错误:nextButton.addEventListener 不是函数

我这周才开始学习 JavaScript 和 HTML,所以我还不是很精通。另外,我不能使用 JQuery 或任何类型的框架!

感谢您的帮助!

最佳答案

因为你知道你有两个 li.pagination 内部,你可以使用 document.querySelectorAll,它返回一个数组元素。只需将数组中元素的索引作为目标。示例:

let navButtons = document.querySelectorAll('.pagination li');
let prevButton = navButtons[0];
let nextButton = navButtons[1];

prevButton.addEventListener('click', (event) => {

});

nextButton.addEventListener('click', (event) => {

});

关于javascript - 如何在不使用 ID 的情况下在 ul 中定位 li?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58738304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com