У меня есть объект JSON, например:
{ Naam: "bert", Achternaam: "Kopers"}
Я хотел бы отобразить это в элементе DIV на моей HTML-странице. Должно получиться так:
<div id = "contents>
<div class = "setting-label">
Naam
</div>
<div class = "setting-value">
bert
</div>
</div>
<div class = "setting-row">
<div class = "setting-label">
AchterNaam
</div>
<div class = "setting-value">
kopers
</div>
</div>
Желательно, чтобы это было без innerHTML. Итак, с appendChild. Как выглядит код?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это должно работать:
onload = function() {
var person = {Naam: "Bert", Achternaam: "Kopers"};
var contents = document.getElementById("contents");
for(var key in person) {
var personDiv = document.createElement("div");
var div1 = document.createElement("div");
var text1 = document.createTextNode(key);
div1.appendChild(text1);
var div2 = document.createElement("div");
var text2 = document.createTextNode(person[key]);
div2.appendChild(text2);
personDiv.appendChild(div1);
personDiv.appendChild(div2);
contents.appendChild(personDiv);
}
}<div id = "contents"></div>Даст вам HTML-вывод:
<div id = "contents">
<div>
<div>Naam</div>
<div>Bert</div>
</div>
<div>
<div>Achternaam</div>
<div>Kopers</div>
</div>
</div>Конечно вы можете! Вы можете поместить этот код в функцию, скажем, loadPerson(), а затем вызвать эту функцию в функции onload = function().
Кроме того, если вы хотите продвинуть его дальше, вы можете создать функцию, которая создает элемент div и помещает в него некоторый текст, а затем вызывает его для создания div1 и div2.
благодаря. Это работает. Мне интересно, могу ли я использовать функцию, чтобы сделать его чище / проще