Я создал 5 div с одинаковым идентификатором и классом с циклом. Теперь я пытаюсь заполнить каждый div заголовком, отличным от News API. Мне удалось заполнить первый div данными, но я изо всех сил пытаюсь вставить данные в другие.

Вот моя попытка

// Fetch Data from API
fetch(req)
  .then(r => r.json())
  .then(r => {
    const container = document.getElementsByClassName('postWrap')[0];

    // Create div elements
    for(i = 0; i < 5 ; i++) {
      // Create title div
      const titleDiv = document.createElement('div');
      container.appendChild(titleDiv);

      // Set ID & Class
      titleDiv.id = 'postTitle';
      titleDiv.classList.add('post-body');

      // Post title data from array into div
      let post = r.articles[i];
      let title = post.title;
      document.getElementById('postTitle').innerHTML = title;
    }
  });
0
dirtyrender 14 Мар 2018 в 15:29

1 ответ

Лучший ответ

Идентификатор DOM должен быть уникальным. То же самое идентификатор дом не рекомендуется.

Ваши экземпляры div создаются вашим кодом javascript, поэтому вы можете использовать эти экземпляры напрямую, но получать их по идентификатору.

const titleDiv = document.createElement('div');

/* Omitted.... */

// Post title data from array into div
let post = r.articles[i];
let title = post.title;
titleDiv.innerHTML = title;
0
Guest 14 Мар 2018 в 15:52