我想遍历一个JSON对象,并在li
标记中包装数组中的每个项目。试图迭代
这里是我的JSON结构
var classYear = {
"1921": [
'name1', 'name2', 'name3', 'name4'
],
"1933": [
'name5', 'name6', 'name7', 'name8'
],
"1943": [
'name9', 'name10', 'name11', 'name12', 'name13'
]
};
这里是我的javascript
var container = document.getElementById('classYearContainer');
function classYearOutput(yClass, yId, listId, key, name) {
return '<div class="'+ yClass +'" id="'+ yId +'">' +
'<h4>' + key + '</h4>' +
'<ul id="'+ listId +'">' + name + '</ul>' +
'</div>';
}
function nameList(name) {
return '<li>' + name + '</li>';
}
for(var year in classYear) {
container.innerHTML += classYearOutput(
'category',
'y-' + year,
year + '-list',
year,
nameList(classYear[year])
);
}
有了这个设置我的输出返回所有的名字在一个li
而非独立li
标签。奇怪的是,当我console.log
我得到了预期的结果,但当我return
它把所有的名字在同一li
。
感谢您的任何帮助。
建议使用'createElement'和'appendChild'。字符串容易出错。 – elclanrs 2015-02-17 23:29:41