如何将一个对象数组中的所有项目从Javascript动态显示为HTML?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将一个对象数组中的所有项目从Javascript动态显示为HTML?相关的知识,希望对你有一定的参考价值。

我是一个javascript新手,在一项作业中,我被指示创建2个 JS 文件,然后用html动态显示数据。一个JS文件 data.js 档有 array of objects (产品目录),另一个JS文件有加载这些项目的功能,创建HTML元素并在HTML页面上显示项目(目录)。但是我的代码不能工作,不能以所需的格式显示产品,css也不能在函数中加载。我注意到确定某些语法,所以我在loadProducts()中注释了这段代码.我附上了截图,作为该函数如何准确工作的参考。请在这方面帮助我。

// data.js
var catalog = [
    
      code: 100,
      name: "Learn JS",
      desc: "To make your web paged dynamic",
      price: 150,
      image: "/images/100Tshirt.jpg"
    ,
    
      code:101 ,
      name: "T Shirt",
      desc: "Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs.",
      price: 0,
      image: "/images/101Tshirt.jpg"
    ,
  
     
      code:102 ,
      name: "T Shirt",
      desc: "Lorem ipsum, or lipsum as it is sometimes known, is dummy text used in laying out print, graphic or web designs.",
      price: 0,
      image: "/images/102Tshirt.jpg"
    
  
    // 
    //   name: "Meowsalot",
    //   species: "Cat",
    //   favFoods: ["tuna", "catnip", "celery"],
    //   birthYear: 2012,
    //   photo: "https://learnwebcode.github.io/json-example/images/cat-1.jpg"
    // 
  ];
  
  
 // codeboutique.js
 function chargerArticles() 
	var articles = document.getElementById("content");
 
 for (var i =0; i <= catalog.length; i++) 

		var article = document.createElement("div"); 
		article.setAttribute("class", "addClass");

		var articleName = document.createElement("h2");
		articleName.setAttribute("class", "heading"); 
		articleName.innerText = catalog[i].name;
		article.appendChild(articleName);
    articles.appendChild(article);
	 //also hoow to acess style.css to style h2 (dynamic element)
	// 	var nameName= catalog.name.innerText;
	// document.body.appendChild(article); 
  
  
  var articleImg = document.createElement("img");
		articleImg.setAttribute("class", "imgclass class2 class3");
		articleImg.setAttribute("src", catalog[i].image);
		// articleImg.setAttribute("src", "/images/100Tshirt.jpg");
		// articleImg.setAttribute("src", "100Tshirt.jpg");
		// articleImg.innerText = catalog[i].image;
		article.appendChild(articleImg);
	
.addClass

	font-size: 44px;
	color:grey;
	background-color: blue;
	border-style: 2px solid yellow;


.heading

	color: green;


.border 
  border: 1px solid grey;


.pad 
  padding: 15px;
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Page Title</title>
    <script src="js/data.js"></script>
    <script src="js/codeboutique.js"></script>
    <link rel="stylesheet" type="text/css" href="css/mystyle.css">

</head>

<body onload="chargerArticles()">
    <section id="content">
    </section>

</body>

</html>

谢谢你的帮助。What to do

答案

回头看看你截图中的说明。我可以清楚地看到你跳过的指令,那里可以解决你的问题。

尤其是

插入articleName作为article元素的子元素

appendChild() 是正确的函数,但 document.body 是错误的调用对象。仔细想想。

我假设再往下是一个指令,要把文章作为目录表("articles")的子对象插入。

你没有使用赋值指令中推荐的变量名,这可能有点令人困惑。当然,如果你知道自己在做什么,你可以很容易地让代码使用不同的变量名,但既然你说你是个初学者,我建议你现在更仔细地按照指导来做。

以上是关于如何将一个对象数组中的所有项目从Javascript动态显示为HTML?的主要内容,如果未能解决你的问题,请参考以下文章

如何从本地存储jquery显示数组中的所有对象

Meteor JS如何从集合中的数组中获取特定对象?

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip

如何对数组php中的所有项目运行sql查询

如何从 axios 响应对象中的所有项目中提取特定值到 vuex 状态

如何将rails数据放入javascrip数组中