@aljo222
В процессе обучения веб-разработке

Как запустить цикл each для каждого ключа json?

Ajax-запрос возвращает json такого вида:

{"color":"red","name":"gaming pad zx130","price":"12300"}

Также на странице заранее созданы элементы <span> с классами равными ключам json-массива. Т.е. есть такие:

<span class="color"></span>
<span class="name"></span>
<span class="price"></span>

Вопрос, как заменить такой код:

res = $.parseJSON(response);
$('.color').html(res.color);
$('.name').html(res.name);
$('.price').html(res.price);

На цикл each, что-то условно делающий следующее:

res = $.parseJSON(response);
jsonKey.each(function() {
$('.'+jsonKey).html(res.jsonKey);
});
  • Вопрос задан
  • 252 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
$.each($.parseJSON(response), (k, v) => $(`.${k}`).text(v));

или

for (const [ k, v ] of Object.entries(JSON.parse(response))) {
  document.querySelector(`.${k}`).innerText = v;
}
Ответ написан
TTATPuOT
@TTATPuOT
https://code.patriotovsky.ru/
Object.keys()
Object.keys(jsonKey).each(key => {
  const value = jsonKey[key];
  $(`.${key}`).html(value);
})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы