Первое, что приходит на ум - это подмена адреса изображения.
(Просто поразительно, как схож JS-код, который был сохранён гораздо ранее на Codepen в процессе написания ответа, с кодом в предыдущем ответе. Возможно, что это просто совпадение в виду очевидности и оптимальности решения ;-)
let largeImage = document.querySelector('.main');
document.querySelector('.first-level').addEventListener('click', (ev) => {
let target = ev.target;
if (target.tagName != 'IMG') return;
let temper = target.src;
target.src = largeImage.src;
largeImage.src = temper;
})
.wrapper{margin:0 auto;display:flex;flex-flow:column nowrap;justify-content:center;align-items:center;gap:10px;width:min-content;padding:10px 64px;border-radius:10px;background-color:#30384d}.monkey-photo img{height:256px;width:256px;object-fit:cover}.first-level{display:flex;flex-flow:row nowrap;width:100%}.first-level p{margin:0;color:#fff;flex:1}.first-level img{margin:0 -15px 0 0;height:48px;width:48px;border-radius:50%;object-fit:cover;box-shadow:0 0 3px 1px #30384d}
<div class="wrapper">
<div class="monkey-photo">
<img class="main" src="https://i.sstatic.net/m9kuJ.jpg">
</div>
<div class="first-level">
<p>Monkey Apes</p>
<img src="https://i.sstatic.net/MraLT.jpg">
<img src="https://i.sstatic.net/VxVNC.jpg">
<img src="https://i.sstatic.net/A9VLC.jpg">
<img src="https://i.sstatic.net/oYG0R.jpg">
</div>
</div>
Если же присмотреться к исходной разметке, то можно заметить, что у изображений присутствуют также дополнительные атрибуты, такие как alt и id. Переносить каждый из атрибутов по отдельности иррационально, поэтому предлагаю перемещать непосредственно сами элементы <img>
:
document.querySelector('.first-level').addEventListener('click', (ev) => {
let target = ev.target;
if (target.tagName != 'IMG') return;
let largeImage = document.querySelector('.monkey-photo img');
let parent = largeImage.parentElement;
target.before(largeImage);
parent.append(target);
});
.wrapper{margin:0 auto;display:flex;flex-flow:column nowrap;justify-content:center;align-items:center;gap:10px;width:min-content;padding:10px 64px;border-radius:10px;background-color:#30384d}.monkey-photo img{height:256px;width:256px;object-fit:cover}.first-level{display:flex;flex-flow:row nowrap;width:100%}.first-level p{margin:0;color:#fff;flex:1}.first-level img{margin:0 -15px 0 0;height:48px;width:48px;border-radius:50%;object-fit:cover;box-shadow:0 0 3px 1px #30384d}
<div class="wrapper">
<div class="monkey-photo">
<img src="https://i.sstatic.net/m9kuJ.jpg" alt="" id="zero">
</div>
<div class="first-level">
<p>Monkey Apes</p>
<img src="https://i.sstatic.net/MraLT.jpg" alt="red wall" id="one">
<img src="https://i.sstatic.net/VxVNC.jpg" alt="yellow flower" id="two">
<img src="https://i.sstatic.net/A9VLC.jpg" alt="green forest" id="three">
<img src="https://i.sstatic.net/oYG0R.jpg" alt="blue rose" id="four">
</div>
</div>