Javascript 为什么这个DOM代码没有出现在页面上?

Javascript 为什么这个DOM代码没有出现在页面上?,javascript,html,Javascript,Html,我正在写一个作业,我必须用DOM制作一个包含10本书的页面,其中包含一些关于它们的信息和它们封面的图像,即使我将JS文件链接到HTML文件,但当我在浏览器中打开HTML文件时,我看不到任何东西。 我做错了什么 “严格使用”; { 常量booksObj={ 如何创造思维:{ 标题:“如何创造心灵:揭示人类思想的秘密”, 作者:“雷·库兹韦尔”, 语言:“英语”, }, 从无到有的宇宙:{ 标题:“从无到有的宇宙”, 作者:《劳伦斯·M·克劳斯》, 语言:“英语”, }, 智人:{ 标题:“智人:

我正在写一个作业,我必须用DOM制作一个包含10本书的页面,其中包含一些关于它们的信息和它们封面的图像,即使我将JS文件链接到HTML文件,但当我在浏览器中打开HTML文件时,我看不到任何东西。 我做错了什么

“严格使用”;
{
常量booksObj={
如何创造思维:{
标题:“如何创造心灵:揭示人类思想的秘密”,
作者:“雷·库兹韦尔”,
语言:“英语”,
},
从无到有的宇宙:{
标题:“从无到有的宇宙”,
作者:《劳伦斯·M·克劳斯》,
语言:“英语”,
},
智人:{
标题:“智人:人类简史”,
作者:“Yuval Noah Harari”,
语言:“英语”,
},
人类:{
标题:“人类:明天的简史”,
作者:“Yuval Noah Harari”,
语言:“英语”,
}
};
const root=document.getElementById('root');
函数列表(){
const div=document.createElement('div');
根。追加子对象(div);
常量h1=document.createElement('h1');
儿童组(h1);
h1.appendChild(document.createTextNode(“我的图书列表”);
for(booksObj中的常量键){
const h2=document.createElement('h2');
根。子(h2);
h2.appendChild(document.createTextNode(booksObj[key]['title']);
const author=document.createElement('p');
root.appendChild(作者);
author.appendChild(document.createTextNode(booksObj[key]['author']);
const language=document.createElement('p');
root.appendChild(语言);
language.appendChild(document.createTextNode(booksObj[key]['language']);
const img=document.createElement('img');
根追加子项(img);
appendChild(document.createTextNode(booksObj[key]['images']);
img.src=bookImage;
}
}
booksList();

您的脚本末尾似乎缺少一个
}
。看看这里的小提琴


您的代码导致了一个
意外的输入结束
异常,该异常显示在开发人员工具控制台中。

在您严格的语法之后有一个小括号。这会导致脚本出错

“严格使用”;
const bookImage='';
常量booksObj={
如何创造思维:{
标题:“如何创造心灵:揭示人类思想的秘密”,
作者:“雷·库兹韦尔”,
语言:“英语”,
},
从无到有的宇宙:{
标题:“从无到有的宇宙”,
作者:《劳伦斯·M·克劳斯》,
语言:“英语”,
},
智人:{
标题:“智人:人类简史”,
作者:“Yuval Noah Harari”,
语言:“英语”,
},
人类:{
标题:“人类:明天的简史”,
作者:“Yuval Noah Harari”,
语言:“英语”,
}
};
const root=document.getElementById('root');
函数列表(){
const div=document.createElement('div');
根。追加子对象(div);
常量h1=document.createElement('h1');
儿童组(h1);
h1.appendChild(document.createTextNode(“我的图书列表”);
for(booksObj中的常量键){
const h2=document.createElement('h2');
根。子(h2);
h2.appendChild(document.createTextNode(booksObj[key]['title']);
const author=document.createElement('p');
root.appendChild(作者);
author.appendChild(document.createTextNode(booksObj[key]['author']);
const language=document.createElement('p');
root.appendChild(语言);
language.appendChild(document.createTextNode(booksObj[key]['language']);
const img=document.createElement('img');
根追加子项(img);
appendChild(document.createTextNode(booksObj[key]['images']);
img.src=bookImage;
}
}
booksList()

您的HTML部分是正确的,但您在js文件中添加了一些额外的括号,复制并粘贴此代码

'use strict';

  const booksObj = {
    how_to_create_a_mind: {
      title: 'How to Create a Mind: The Secret of Human Thought Revealed',
      author: 'Ray Kurzweil',
      language: 'english',
      images : ''
    },
    universe_from_nothing: {
      title: 'A Universe from Nothing',
      author: 'Lawrence M. Krauss',
      language: 'english',
      images : ''
    },
    sapiens: {
      title: 'Sapiens: A Brief History of Humankind',
      author: 'Yuval Noah Harari',
      language: 'english',
      images : ''
    },
    homo_deus: {
      title: 'Homo Deus: A Brief History of Tomorrow',
      author: 'Yuval Noah Harari',
      language: 'english',
      images : ''
    }
  };


  const root = document.getElementById('root');


  function booksList() {
    const div = document.createElement('div');
    root.appendChild(div);
    const h1 = document.createElement('h1');
    div.appendChild(h1);
    h1.appendChild(document.createTextNode('My List Of Books'));

    for (const key in booksObj) {
      const h2 = document.createElement('h2');
      root.appendChild(h2);
      h2.appendChild(document.createTextNode(booksObj[key]['title']));
      const author = document.createElement('p');
      root.appendChild(author);
      author.appendChild(document.createTextNode(booksObj[key]['author']));
      const language = document.createElement('p');
      root.appendChild(language);
      language.appendChild(document.createTextNode(booksObj[key]['language']));
      const img = document.createElement('img');
      root.appendChild(img);
      var bookImage = img.appendChild(document.createTextNode(booksObj[key]['images']));
      img.src = bookImage;
    }
  }

booksList();
“严格使用”;
{
常量booksObj={
如何创造思维:{
标题:“如何创造心灵:揭示人类思想的秘密”,
作者:“雷·库兹韦尔”,
语言:“英语”
},
从无到有的宇宙:{
标题:“从无到有的宇宙”,
作者:《劳伦斯·M·克劳斯》,
语言:“英语”
},
智人:{
标题:“智人:人类简史”,
作者:“Yuval Noah Harari”,
语言:“英语”
},
人类:{
标题:“人类:明天的简史”,
作者:“Yuval Noah Harari”,
语言:“英语”
}
};
const root=document.getElementById('root');
函数列表(){
const div=document.createElement('div');
根。追加子对象(div);
常量h1=document.createElement('h1');
儿童组(h1);
h1.appendChild(document.createTextNode(“我的图书列表”);
for(booksObj中的常量键){
const h2=document.createElement('h2');
根。子(h2);
h2.appendChild(document.createTextNode(booksObj[key]['title']);
const author=document.createElement('p');
root.appendChild(作者);
author.appendChild(document.createTextNode(booksObj[key]['author']);
const language=document.createElement('p');
root.appendChild(语言);
language.appendChild(document.createTextNode(booksObj[key]['language']);
const img=document.createElement('img');
根追加子项(img);
让bookImage=img.appendChild(document.createTextNode(booksObj[key]['images']);
img.src=bookImage;
}
}
booksList();
}

页面标题

打开您的开发控制台,您是否看到任何错误?使用strict for后的
{
是什么?这是一个简单的输入错误问题。投票关闭,您的代码中还有一个错误,bookImage未定义,我已解决了这个问题,声明了这个变量,祝您愉快!!!