javascript - 动态创建的 div 中未显示数组元素?

标签 javascript html

我正在尝试在动态创建的 div 中使用 html li 元素打印数组元素,但没有显示错误,而且数组元素都不是空的 div.

有什么问题吗?

这是我的代码:

var fruitsName, fruitsLists, numFruits, i;

fruitsName = ["Mango", "Apple", "Banana", "Strawberry", "Blackberry", "Blueberry"];
numFruits = fruitsName.length;
fruitsLists = "<ul>";

for (i = 0; i < numFruits.length; i++)
{
    fruitsLists = "<li>" + fruitsName[i] + "</li>";
}
fruitsLists += "</ul>";
var myDiv = document.createElement('div');
myDiv.className = 'bookmarksHolder';
myDiv.id = 'randomItem';

document.getElementById('bookmarks_row').appendChild(myDiv);
document.getElementById('randomItem').innerHTML = fruitsLists;

最佳答案

两个问题:numFruits已经是一个数组的长度,所以应该是 i < numFruits .其次,在循环中将先前的值与当前值连接起来:

for (i = 0; i < numFruits; i++) {
  fruitsLists += "<li>" + fruitsName[i] + "</li>";
}

完整示例:

var fruitsName, fruitsLists, numFruits, i;

fruitsName = ["Mango", "Apple", "Banana", "Strawberry", "Blackberry", "Blueberry"];
numFruits = fruitsName.length;
fruitsLists = "<ul>";

for (i = 0; i < numFruits; i++) {
  fruitsLists += "<li>" + fruitsName[i] + "</li>";
}
fruitsLists += "</ul>";

var myDiv = document.createElement('div');
myDiv.className = 'bookmarksHolder';
myDiv.id = 'randomItem';

document.getElementById('bookmarks_row').appendChild(myDiv);
document.getElementById('randomItem').innerHTML = fruitsLists;
<div id="bookmarks_row"></div>

关于javascript - 动态创建的 div 中未显示数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42972463/

相关文章:

javascript - 如何使 grunt build 最小化私有(private)(__)和 protected (_)方法?

javascript - 使下拉菜单可见的javascript

html - 使用 CSS 在 HTML 页面上的格式不正确

javascript - 文本框输出取决于下拉列表中的选择

javascript - (ui-)router 中的 Angular-app、身份验证和解析器顺序

javascript - 如何在加载下一页之前保持远程表单上的提交按钮处于禁用状态

javascript - 搜索我的 HTMLCollection 是否包含特定文本

javascript - 控制台日志记录 "this"返回 "null"

javascript - 如何使用 jQuery 淡出主 div 并淡入相应单击缩略图的内容

css - 横幅中的导航栏和 Logo ( slider )