как добавить и убрать что-то вроде класса active на чистом js
данный код находит все кнопки product__favourite и меняет их src , после чего выпадает подходящая картинка загорается просто красное сердечко , вернее это происходит с той кнопкой на которую нажимаешь . Я хочу что бы при повторном клике вместо -
button.querySelector('img').src = images/product__favourite--true.png;
становилось - button.querySelector('img').src = images/product__favourite.png;
const buttons = document.querySelectorAll(".product__favourite");
buttons.forEach((button) => {
button.addEventListener('click', () =>{
console.log(`click`);
button.querySelector('img').src = `images/product__favourite--true.png`;
})
});
Ответы (2 шт):
Автор решения: Александр Сычёв
→ Ссылка
Можно вот такой простой вариант
const buttons = document.querySelectorAll(".product__favourite");
buttons.forEach((button) => {
button.addEventListener('click', (e) =>{
let img = e.target.firstElementChild
if (img.getAttribute('src') == 'images/product__favourite--true.png') {
img.src = 'images/product__favourite.png'
}
else {
img.src = 'images/product__favourite--true.png'
}
console.log(img.src)
})
});
<button class="product__favourite">
<img src="images/product__favourite--true.png" alt="">
</button>
<button class="product__favourite">
<img src="images/product__favourite--true.png" alt="">
</button>
<button class="product__favourite">
<img src="images/product__favourite--true.png" alt="">
</button>
<button class="product__favourite">
<img src="images/product__favourite--true.png" alt="">
</button>
Автор решения: Марсианин Джон
→ Ссылка
не скорей так
const buttons = document.querySelectorAll(".product__favourite");
buttons.forEach((button) => {
button.addEventListener('click', () =>{
const img = button.querySelector('img');
if(img.getAttribute('src') === `images/product__favourite.png`){
img.src = `images/product__favourite--true.png`;
} else {
img.src = `images/product__favourite.png`;
}
})
});