我在页面上加载了2批json数据。我想根据loaddata等于添加一个不同的列表。
我该怎么做?
在console.log中myList等于myjson2但是当我尝试将myList.forEach(createList);
放入时,我收到一个未定义的错误。
function createList(element, index, array) {
var li = document.createElement("li");
li.setAttribute("data-rank",index);
li.appendChild(document.createTextNode(element['name']));
ul.appendChild(li);
}
var ul = document.createElement("ul");
ul.setAttribute("id","test");
document.body.appendChild(ul);
var myjson1 = [{
"name": "Tom",
"rank": 1
},{
"name": "Richard",
"rank": 3
}];
var myjson2 = [{
"name": "Kate",
"rank": 1
},{
"name": "Sarah",
"rank": 3
}];
var loaddata=2;
var myList = "myjson" + loaddata;
console.log(myList);
//myList.forEach(createList); /* commented out as not working */
myjson1.forEach(createList); /* appends myjson1 list */
myjson2.forEach(createList); /* appends myjson2 list */
答案 0 :(得分:1)
如果我理解你正在尝试做的是
var myList = this["myjson" + loaddata];
但是,为了工作,您需要在全局范围内声明var myjson
。