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

Мне нужно создать n div элементов внутри body. Все div элементы должны иметь один общий класс, а также каждый должен иметь свой личный атрибут.

Пока что получился такой код:

for (var i = 0; i < 5; i++) {
  const divEl = document.createElement('div');
  document.body.appendChild(divEl).setAttribute('class', 'div');
}

Как мне дополнительно к элементу добавить свой атрибут? Ибо сейчас они создаются лишь с классом "div", а мне нужны еще атрибуты.

Есть идея после создания получить все элементы и к каждому заново обращаться, но, думаю, это не лучший вариант.


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

Автор решения: Август

не вижу смысла искать какой-то мудреный способ. вот этот читабельный и обычный:

for (let i = 0; i < 5; i++) {
    const divEl = document.createElement('div');
    divEl.classList.add('div');
    divEl.setAttribute('myAttr', 'value');
    document.body.appendChild(divEl);
}
→ Ссылка
Автор решения: Regent

Можно создать массив конфигураций для div-ов и отталкиваться от него:

const divConfigs = [
  { id: 1 },
  { id: 2, pid: 20 },
  { tid: 300 }
];

for (let divConfig of divConfigs) {
  let div = document.createElement("div");
  div.setAttribute("class", "div");

  for (let attribute in divConfig) {
    div.setAttribute(attribute, divConfig[attribute]);
  }

  document.body.appendChild(div);
}

Конфигурация представляет собой объект, в котором ключами являются названия атрибутов, а значениями - значения соответствующих атрибутов

→ Ссылка