首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DOM上显示我的代码有困难

在DOM上显示我的代码有困难
EN

Stack Overflow用户
提问于 2017-06-22 18:10:26
回答 2查看 41关注 0票数 0

我很难在DOM中显示我已经/没有读过的书籍数组

代码语言:javascript
复制
var booksListArray = [
        {
            title: "Always Running",
            author: "Luis J Rodriguez",
            alreadyRead: true
        },
        {
            title: "Hatchet",
            author: "Gary Paulsen",
            alreadyRead: true
        },
        {
            title: "Autobiography of Malcolm X",
            author: "Malcolm X",
            alreadyRead: true
        },
        {
            title: "Che Guevara: A Revolutionary Life",
            author: "Jon Lee Anderson",
            alreadyRead: false
        },
        {
            title: "The Prince",
            author: "Niccolo Machiavelli",
            alreadyRead: false
        }];

    for (i = 0; i < booksListArray; i++) {
        var currentBook = booksListArray[1];
    };


    if (currentBook.alreadyRead == true) {
       document.write("I have already read " + currentBook.title + " by " + currentBook.author);
    } else {
        document.write("You still have to read " + currentBook.title + " by " + currentBook.author);
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-22 18:13:53

我觉得你想做这样的事:

代码语言:javascript
复制
for (var i = 0; i < booksListArray.length; i++) {
    var currentBook = booksListArray[i];    
    if (currentBook.alreadyRead == true) {
        document.write("I have already read " + currentBook.title + " by " + currentBook.author);
    } else {
        document.write("You still have to read " + currentBook.title + " by " + currentBook.author);
    }
}

您的代码有几个错误/坏处:

  • 你太早关闭循环了
  • 循环的条件不是使用数组的length
  • 您需要使用i访问您的currentBook
  • 使用varlet初始化i变量
  • 您应该填充一个HTML element而不是使用document.write

下面是一个完整的工作示例:

代码语言:javascript
复制
var booksListArray = [
{
    title: "Always Running",
    author: "Luis J Rodriguez",
    alreadyRead: true
},
{
    title: "Hatchet",
    author: "Gary Paulsen",
    alreadyRead: true
},
{
    title: "Autobiography of Malcolm X",
    author: "Malcolm X",
    alreadyRead: true
},
{
    title: "Che Guevara: A Revolutionary Life",
    author: "Jon Lee Anderson",
    alreadyRead: false
},
{
    title: "The Prince",
    author: "Niccolo Machiavelli",
    alreadyRead: false
}];

var mydiv = document.getElementById('mylist');
for (var i = 0; i < booksListArray.length; i++) {
    var currentBook = booksListArray[i];    
    if (currentBook.alreadyRead == true) {
    	mydiv.innerHTML += "I have already read " + currentBook.title + " by " + currentBook.author + "<br>";
    } else {
    	mydiv.innerHTML += "You still have to read " + currentBook.title + " by " + currentBook.author + "<br>";
    }
}
代码语言:javascript
复制
<div id="mylist"></div>

票数 3
EN

Stack Overflow用户

发布于 2017-06-22 18:19:17

代码语言:javascript
复制
for (var i = 0; i < booksListArray.length; i++) {
    var currentBook = booksListArray[i]; //index should be i    
    if (currentBook.alreadyRead === true) {
        document.write("I have already read " + currentBook.title + " by " + currentBook.author);
    } else {
        document.write("You still have to read " + currentBook.title + " by " + currentBook.author);
    }
};
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44706619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档