Denisey
@Denisey

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

Помогите исправить одну штуку, чтоб она работала:
Есть массив, который получаем из JSON, внутри которого объекты с одинаковыми полями и разными значениями этих полей. Нужно, чтобы в зависимости от значения полей каждого объекта (их может быть сколько угодно) генерировался дочерний div, который принимает один или другой стиль в зависимости от значения поля объекта.
Пытался сделать что-то вроде этого (перебирать каждый объект массива и создавать дочерний элемент того или другого класса):
for (var i = 0, len = response.length; i < len; i++) {
                if (response[i].Title == "test1") {
                    var div1 = document.createElement('div1');
                    div1.className = 'flex-block-1;
                    document.getElementById("ttt").appendChild(div1);
                } else if (response[i].Title == "test2") {
                    var div2 = document.createElement('div2');
                    div2.className = 'flex-block-2;
                    document.getElementById("ttt").appendChild(div2);                    
                }
  }
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const classes = {
  test1: 'div1',
  test2: 'div2'
};

container.innerHTML = response.map(n => `<div class="${classes[n.Title]}"></div>`).join('');

https://codepen.io/anon/pen/wqdJzo
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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