Как добавлять текстовые узлы без удаления содержимого?

Всем привет.

Пытаюсь добавлять разный текст из между тегами переноса и закрывающими для ссылок. Для меня сложно то, что textContent удаляет все содержимое, конкретно img. Знаю, что InsertAdjacentHTML так не делает, но он не принимает переменную в качестве аргумента. А необходимо будет еще схожим образом "добавлять" ссылки, картинки в эту же разметку.

let pre = document.querySelector('pre').innerHTML;
let trimmed = pre.split("\n").map(e=>e.trim());
let aTag = document.getElementsByTagName('a');
let len = Math.min(trimmed.length, aTag.length); 
for (let i = 0; i < len; i++) {
    aTag[i].textContent = trimmed[i];
}
<pre>
First
Second
Third
</pre>
<div class="wrapper">
<div><a href=""><img src="https://example.com/wp-content/uploads/2024/03/first.png"><br></a></div>
<div><a href=""><img src="https://example.com/wp-content/uploads/2024/03/second.png"><br></a></div>
<div><a href=""><img src="https://example.com/wp-content/uploads/2024/03/third.png"><br></a>
</div>

С уважением.


Ответы (1 шт):

Автор решения: Miha

Как вариант можно использовать innerHTML вместо textContent

let pre = document.querySelector('pre').innerHTML;
let trimmed = pre.split("\n").map(e => e.trim());
let aTag = document.getElementsByTagName('a');
let len = Math.min(trimmed.length, aTag.length);

for (let i = 0; i < len; i++) {
  aTag[i].innerHTML += trimmed[i];
}
<pre>
First
Second
Third
</pre>
<div class="wrapper">
  <div>
    <a href="">
      <img src="https://example.com/wp-content/uploads/2024/03/first.png">
      <br>
    </a>
  </div>
  <div>
    <a href="">
      <img src="https://example.com/wp-content/uploads/2024/03/second.png">
      <br>
    </a>
  </div>
  <div>
    <a href="">
      <img src="https://example.com/wp-content/uploads/2024/03/third.png">
      <br>
    </a>
  </div>
</div>

→ Ссылка