-1

应该很简单,但我只得到 Jimmy cricket 输出,我期待 li 标签中的所有名称。谢谢你的帮助。

<ul id="members"></ul>
<script>
var teammembers = [
{"name":"John Doe", "profile":"/img/profile/user1.jpg", "position":"President", "email":"email@example.com", "phone":"242-abcd"},
{"name":"James Bond", "profile":"/img/profile/user2.jpg", "position":"Vice President", "email":"007@example.com", "phone":"242-0007"},
{"name":"Jimmy Cricket", "profile":"/img/profile/user3.jpg", "position":"Vice Cricket", "email":"cricket@example.com", "phone":"242-wxyz"}
];

for (var i = 0; i < teammembers.length; i++) { 
    document.getElementById("members").innerHTML = "<li>" + teammembers[i].name; + "</li>"
}
</script>
4

2 回答 2

3

这里的=标志是在每次迭代中替换 innerHTML。因此,您会在此处看到数组的最后一个值。

将其转换为+=. 像这样,

 document.getElementById("members").innerHTML += "<li>" + teammembers[i].name; + "</li>"

+=将附加它。

于 2013-07-01T20:48:17.717 回答
1

您需要附加到innerHTML,而不是设置它。而不是这个:

document.getElementById("members").innerHTML = "<li>" + teammembers[i].name; + "</li>"

使用这个(变化是从 using=到 using +=):

document.getElementById("members").innerHTML += "<li>" + teammembers[i].name; + "</li>"
于 2013-07-01T20:48:21.340 回答