JSON文件
{
"subject": "title",
"level": [
{
"title":"Test1",
"sub":[{
"title":"Test1 sub_1",
"links":[{
"title":"Test1sub1.1link_title",
"address":"linkAddress"
},{
"title":"Test1sub1.2_link_title",
"address":"linkAddress"
}
]
},{
"title":"Test2 sub_2",
"links":[{
"title":"Test2sub2.1_link_title",
"address":"linkAddress"
},{
"title":"Test2sub2.2_link_title",
"address":"linkAddress"
}
]
}]
},
{
"title":"Test3",
"sub":[{
"title":"Test3 sub_1",
"links":[{
"title":"Test31.1_link_title",
"address":"linkAddress"
},{
"title":"Test31.2_link_title",
"address":"linkAddress"
}
]
}]
}
]
}
在我的标记中,我有以下内容
var json = $.getJSON('datar.json',function(data){
for(var i =0; i< data.level.length; i++){
console.log(data.level[i].title);
$('#accordion').append("<li>"+data.level[i].title+"</li>");
for (var k = 0; k<data.level[i].sub.length; k++){
console.log(data.level[i].sub[k].title);
$('#accordion').append("<li>"+data.level[i].sub[k].title+"</li>");
for (var j = 0; j<data.level[i].sub[k].links.length; j++){
console.log(data.level[i].sub[k].links[j].title);
$('#accordion').append("<li>"+data.level[0].sub[j].links[i].title+"</li>");
}
}
}
如我们所见,我正在遍历并追加以创建动态列表。从我的console.log输出中收到正确的格式。
Test1
Test1 sub_1
Test1sub1.1link_title
Test1sub1.2_link_title
Test2 sub_2
Test2sub2.1_link_title
Test2sub2.2_link_title
Test3
Test3 sub_1
Test31.1_link_title
Test31.2_link_title
但是页面本身无法正确显示,
Test1
Test1 sub_1
Test1sub1.1link_title
Test2sub2.1_link_title
Test2 sub_2
Test1sub1.1link_title
Test2sub2.1_link_title
Test3
Test3 sub_1
Test1sub1.2_link_title
Test2sub2.2_link_title
如果有人可以建议,将不胜感激。
最佳答案
看看最后一个for循环:
console.log(data.level[**i**].sub[**k**].links[**j**].title);
$('#accordion')
.append("<li>"+data.level[**0**].sub[**j**].links[**i**].title+"</li>");
=> console.log和append之间的索引元素不同
关于javascript - 使用JSON和jquery创建动态列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26155478/