【发布时间】:2019-06-08 00:44:14
【问题描述】:
我有一组要映射的对象。我想将它附加到我的 html 文件中的无序列表中。这是我目前正在尝试做的。我收到此错误“Uncaught TypeError: Cannot read property 'appendChild' of null”。
var newWorkArray= works.map(function(work){
return {
name : work.name,
title : work.title,
pic : work.pic,
link : work.link,
github : work.github
};
});
console.log("newArray", newWorkArray);
const workLiTag= document.createElement("li")
const workItem= document.createTextNode(newWorkArray)
workLiTag.appendChild(workItem)
document.getElementById("#work-items").appendChild(workItem)
我认为不需要,但我会添加对象数组
var works = [
{
name:"Lorem Ipsum",
title: "Lorem Ipsum",
pic: "Lorem Ipsum",
link: "Lorem Ipsum",
github:"Lorem Ipsum"
},
{
name:"Ruby on Rails | Vue",
title: "Project Manager",
pic: "Lorem Ipsum",
link:"Lorem Ipsum",
github:"Lorem Ipsum"
},
【问题讨论】:
-
getElementById("#work-items")不应包含#。没有 ID 等于"#work-items"的元素,所以getElementById返回null -
...顺便说一句,
document.createTextNode(newWorkArray)将生成此文本节点:"[[objectObject],[objectObject],...]",使用JSON.stringify或为每个属性构造 DOM 元素。
标签: javascript arrays loops object append