在JavaScript中,你可以使用事件委托来在一个循环中为多个元素添加onClick
事件,并在另一个循环中切换相应元素上的类。以下是一个示例代码:
<ul id="list">
<li class="item">Item 1</li>
<li class="item">Item 2</li>
<li class="item">Item 3</li>
</ul>
// 获取所有列表项
const items = document.querySelectorAll('.item');
// 为每个列表项添加点击事件
items.forEach((item, index) => {
item.addEventListener('click', () => {
// 切换相应元素上的类
toggleClass(index);
});
});
// 切换类的函数
function toggleClass(index) {
// 获取所有列表项
const items = document.querySelectorAll('.item');
// 切换指定索引的元素的类
items[index].classList.toggle('active');
}
.active {
background-color: yellow;
}
querySelectorAll
获取所有列表项。forEach
循环遍历每个列表项,并为每个列表项添加一个点击事件监听器。toggleClass
函数,并传递当前列表项的索引。toggleClass
函数根据传递的索引,切换相应列表项上的active
类。.active
类,用于改变背景颜色。forEach
循环和classList.toggle
方法使得代码简洁易读。toggleClass
函数正确调用,并且索引正确。toggleClass
函数正确调用,并且索引正确。通过这种方式,你可以在一个循环中为多个元素添加点击事件,并在另一个循环中切换相应元素上的类,从而实现交互效果。
领取专属 10元无门槛券
手把手带您无忧上云