Как менять картинки при клике на кнопку?
Нужно, при клике на цвет, менять картинку. Но проблема в том что таких блоков может быть на странице много, а все применяется только к первому. Подскажите пожалуйста, как сделать так что-бы у каждого блока менялась своя картинка?
document.body.addEventListener('click', e => {
if (!e.target.matches('button')) return
document.querySelector('.pic img').src = e.target.dataset.src
document.querySelectorAll('button').forEach(btn => btn.classList.remove('active'))
e.target.classList.add('active')
})
.pic {
display: inline-block;
}
button {
padding: 1em;
}
button.active {
background: tomato;
}
<div class="content">
<div class="pic">
<img src="https://image.coolblue.nl/422x390/products/1216241">
</div>
<button data-src="https://image.coolblue.nl/422x390/products/1216241" class="active">
Blue
</button>
<button data-src="https://image.coolblue.nl/422x390/products/1214824">
Black
</button>
<div>
<div class="content">
<div class="pic">
<img src="https://image.coolblue.nl/422x390/products/1216241">
</div>
<button data-src="https://image.coolblue.nl/422x390/products/1216241" class="active">
Blue
</button>
<button data-src="https://image.coolblue.nl/422x390/products/1214824">
Black
</button>
<div>