【发布时间】:2021-01-05 04:01:56
【问题描述】:
我正在制作一个返回多个项目的循环,我有一个收藏按钮,当悬停时它会运行一个 toggleClass 来更改图标,但它只在循环的第一项中这样做,有人可以帮助我吗?
<div class="favoriteButton" id="favoriteButton">
<i id="favoriteIcon" class="far fa-2x fa-heart"></i>
</div>
jQuery 代码:
// Favorite Icon
$("#favoriteIcon").hover(() => {
$("#favoriteIcon").toggleClass("far fas");
});
循环:
for ($i = 0; $i < count($vehicles); $i++) {
echo '<div class="favoriteButton" id="favoriteButton">
<i id="favoriteIcon" class="far fa-2x fa-heart"></i>
</div>';
}
【问题讨论】:
-
id必须是唯一的。不要在创建 DOM 元素的循环中使用id。改用类。 -
@LouysPatriceBessette 当我通过课程时,它会更改循环生成的页面上的所有图标
标签: javascript jquery loops for-loop