【问题标题】:Iterate a JSON object and appendChild to DIV迭代一个 JSON 对象并将其追加到 DIV
【发布时间】:2018-12-08 22:02:09
【问题描述】:

我有一个 JSON 对象,例如:

{ Naam: "bert", Achternaam: "Kopers"}

我想将此渲染到我的 HTML 页面上的 DIV 元素。它应该是这样的:

   <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 html json dom


    【解决方案1】:

    这应该可行:

    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);
          }
    }
    &lt;div id="contents"&gt;&lt;/div&gt;

    会给你一个 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 元素并在其中放入一些文本,然后调用它来创建div1div2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-03
    相关资源
    最近更新 更多