我正在写一个网站,我在页面上有几个相同的产品卡片。卡片上有一张最喜欢的图标的照片。当我悬停在它上面时,我需要改变图像的src。指向的确切图像的src发生了变化。使情况复杂化的是,我所有的卡片都有相同的类,我不能选择特定的一个。
<div class="main-card">
<div class="main-card-img-holder">
<a href="#">
<img src="img/images/aj4PSG.png" alt="" class="main-card-img">
</a>
</div>
<a href="#" class="main-card-name"><p><b>Nike AirJordan 4 Retro PSG</b></p></a>
<div class="main-price-holder">
<p class="main-card-true-price">4 </p>
<p class="main-card-false-price">8</p>
</div>
<div class="main-add-to-cart-div">
<a href="#" class="main-add-to-cart-fav"><img src="img/icons/favorite.png" alt="" class="FavIcon"></a>
<a href="#" class="main-add-to-cart-link"><b>add to cart</b></a>
</div>
</div>
字符串
我尝试了GetElementById,但它只返回第一个元素,而不是全部。
3条答案
按热度按时间yrdbyhpb1#
使用绑定到合适父节点的委托事件侦听器,您可以使用
event
本身通过检查event.target
和/或event.currentTarget
来识别元素-从那里您可以使用标准DOM导航技术(父节点,子节点,兄弟节点选择器)并相应地设计图像更改逻辑。您没有明确说明图像源将更改为什么-因为您引用了
favourite icon
,我理解这意味着将主img src交换为最喜欢的图标src -很可能是错误的假设,但这可能会有所帮助ncecgwcz2#
你可以在没有任何
id
属性的情况下实现hover脚本。使用hover事件的ev.target
来识别相关的元素:像Abronsius教授一样,我也使用委托事件处理。我在events.to中添加
body
元素,只过滤掉类为“main-card-img”的元素。pgx2nnw83#
为什么不把 id 添加到卡片中呢?这样,您就可以编写JavaScript代码来识别选择了哪个元素,然后可以使用getElementById('id')获取所选元素的属性。
在你的代码中,我假设这是你想要选择的 div:
字符串
你可以对class使用id来唯一标识它,然后获取img的src。
型
现在,您可以选择class,然后选择具有id的子元素。
如果你使用的是jquery,那么选择/识别元素会变得更容易。