У меня есть такой код на моей странице:
<div class="kg-gallery-image" style="flex: 0.708889 1 0%;">
<img src="photo.jpg"></div>
Я хочу изменить их на лету, не используя jquery:
<div class="kg-gallery-image" style="flex: 0.6665 1 0%;">
<a data-fslightbox="" href="photo.jpg"><img src="photo"></a></div>
Мне нужно , получите тег img внутри kg-gallery-image и оберните его:
<a data-fslightbox="" href=""></a>
Но он мне нужен, чтобы получить scr тега img и поместить его для href тега a.
Я использовал этот код jquery:
<script>
$('.kg-gallery-image img ').each(function() {
$(this).wrap("<a data-no-swup data-fslightbox href='" + this.src + "'/>");
});
</script>
, который отлично работает, но поскольку я не использую никаких других функций из jquery, я хочу попробовать создать этот код с чистым js, есть ли способ создать это с чистым js?
Я создал что-то вроде этого:
Array.from(document.querySelectorAll('.kg-gallery-image img')).forEach((el) => {
const wrapper = document.createElement('a');
var imgSource = document.querySelector('.kg-gallery-image img').src;
wrapper.href=""+imgSource;
wrapper.setAttribute('data-fslightbox', 'data-fslightbox');
el.parentNode.insertBefore(wrapper, el);
wrapper.appendChild(el);
});
Но он добавляет href первого изображения ко всем тегам.