Задать вопрос
@Serqwezxc

Как обернуть каждый элемент в ссылку с помощью JS?

Как обернуть каждый img в ссылку с помощью JS?

<div class="slider__itm">
    <img src="img/works/3.png" alt="">
</div>
<div class="slider__itm">
    <img src="img/works/3.png" alt="">
</div>
<div class="slider__itm">
    <img src="img/works/3.png" alt="">
</div>

const inner = document.querySelectorAll('.slider__itm > img')
const wrapper = document.createElement('a')

for (let i = 0; i > 5; i++) {
    inner.parentNode.insertBefore(wrapper, inner)
    wrapper.appendChild(inner)
}
  • Вопрос задан
  • 310 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Кого и во что надо обернуть:

const elements = document.querySelectorAll('.slider__itm img');
const tag = 'a';

Оборачиваем:

elements.forEach(n => {
  n.after(document.createElement(tag));
  n.nextSibling.append(n);
});

или

for (const n of elements) {
  const wrapper = document.createElement(tag);
  wrapper.appendChild(n.parentNode.replaceChild(wrapper, n));
}

или

for (let i = 0; i < elements.length; i++) {
  const wrapper = document.createElement(tag);
  elements[i].replaceWith(wrapper);
  wrapper.insertAdjacentElement('afterbegin', elements[i]);
}

или

(function next(i, n = elements.item(i)) {
  n && (n.outerHTML = `<${tag}>${n.outerHTML}</${tag}>`, next(-~i));
})(0);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы