Javascript 将for-in循环写入页面的最佳方式是什么 var系列={ 爸爸:“爸爸”, 妈妈:“妈妈”, 儿子:“男孩”, 女儿:“女孩” } 对于(家庭中的个人){ log(“”+“+person+”是“+family[person]+””) }

Javascript 将for-in循环写入页面的最佳方式是什么 var系列={ 爸爸:“爸爸”, 妈妈:“妈妈”, 儿子:“男孩”, 女儿:“女孩” } 对于(家庭中的个人){ log(“”+“+person+”是“+family[person]+””) },javascript,Javascript,我想知道将其插入DOM而不是将其记录到控制台的最佳方式。我只想使用JavaScript,跨浏览器的DOM方法是最安全的 var family = { dad: 'Father', mom: 'Mother', son: 'Boy', daughter: 'Girl' } for ( var person in family ) { console.log('<li>' + 'the ' + person + ' is a ' + family

我想知道将其插入DOM而不是将其记录到控制台的最佳方式。我只想使用JavaScript,跨浏览器的DOM方法是最安全的

var family = {
    dad: 'Father',
    mom: 'Mother',
    son: 'Boy',
    daughter: 'Girl'
}

for ( var person in family ) {
    console.log('<li>' + 'the ' + person + ' is a ' + family[person] + '</li>')
}

取决于HTML中已有的内容。如果您只是简单地添加您所拥有的内容,那么只使用以下内容并不是一个坏主意:

var list = document.createElement('li');

for (var person in family)
   list.appendChild(
       document.createTextNode('the person is a ' + family[person]) );

document.body.appendChild( list );

您可以查看一些东西来帮助决定使用哪一个:

@Kinected您在哪里看到它?@David这只会将对象的最后一项放到page@pixel67:它将所有项目都放在页面上,但它们都在一个
  • 元素中,这似乎不是我们想要的。另外,它将
  • 附加到
    正文
    ,这不太正确。我想做一些类似于David在下面尝试做的事情,但这也行得通。更好的做法是像下面的例子那样创建节点,对吗?@pixel67我真的不知道哪个更好。在处理更复杂的事情时,比如更深层次的嵌套元素和事件处理,可能更倾向于使用
    createElement
    并处理类似的事情。但是如果你在做这样简单的事情,我真的不知道这是否有什么不同。你可以看看谢谢,我很感谢你的帮助
    var all_family = "";
    for (var person in family) {
        all_family += "<li>the " + person + " is a " + family[person] + "</li>";
    }
    document.getElementById("main_ul").innerHTML = all_family;
    
    <ul id="main_ul"></ul>
    
    var ul = document.getElementById("main_ul");
    for (var person in family) {
        var li = document.createElement("li");
        li.innerHTML = "the " + person + " is a " + family[person];
        main_ul.appendChild(li);
    }