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

Как добавить элементам текст из массива?

Нужно, чтобы в параграфы добавлялся соответствующий текст. Например:
первый - arr[0],
второй - arr[1],
третий - arr[2],
четвёртый - arr[3],
пятый - arr[4]

Сейчас во все параграфы добавляется последний элемент массива. Как сделать правильно?
<p class="descr"></p>
<p class="descr"></p>
<p class="descr"></p>
<p class="descr"></p>
<p class="descr"></p>


let arr = ["aaa", "bbb", "ccc", "ddd", "eee"];

let description = document.querySelectorAll('.descr');
let res = Array.from(description);

res.map((item) => {
  arr.map((value) => {
    item.innerText = value;
  })
})
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Кому надо добавить текст:

const elements = document.querySelectorAll('.descr');

Как в элемент добавить текст:

const addText = (el, index) =>
  el.append(arr[index]);
  // или
  // el.replaceChildren(arr[index]);
  // el.textContent = arr[index];
  // el.innerText = arr[index];
  // el.innerHTML = arr[index];
  // el.appendChild(document.createTextNode(arr[index]));
  // el.insertBefore(new Text(arr[index]), null);
  // el.insertAdjacentText('beforeend', arr[index]);
  // el.insertAdjacentHTML('beforeend', arr[index]);

Добавляем:

elements.forEach(addText);

// или

for (const [ i, n ] of elements.entries()) {
  addText(n, i);
}

// или

for (let i = 0; i < elements.length; i++) {
  addText(elements[i], i);
}

// или

(function next(i, n = elements.item(i)) {
  n && (addText(n, i), next(-~i));
})(0);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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