问题描述
我正在从服务器中获取一些数据,我想创建元素,但是此代码无法正常工作
var filelist=['dummy1','dummy2','etc']
filelist.forEach(file=>{
var newli=document.createElement("li")
var newa=document.createElement("a")
newa.innerHTML=file
newa.setAttribute('href',file)
newli.append(newa)
box.append(newli)
})
请注意,该框是上面代码中的div
解决方法
在这里,您正在使用。需要确保在执行任何DOM访问功能之前,必须准备好/加载前者。
const fileNameList = ['dummy1','dummy2','etc'];
const box = document.getElementById('box');
fileNameList.forEach(fileName => {
const newLi = document.createElement("li");
const newA = document.createElement("a");
newA.innerHTML = fileName;
newA.setAttribute('href',fileName);
newLi.append(newA);
box.appendChild(newLi);
});
<div id='box'>Your box</div>