Javascript 使用智能菜单jquery打印json
Javascript 使用智能菜单jquery打印json,javascript,jquery,json,Javascript,Jquery,Json,{“菜单”:[{ “名称”:“计算机”, “儿童”:[{ “姓名”:“笔记本”, “儿童”:[{ “名称”:“苹果” }, { “名称”:“窗口” }] }, { “名称”:“平板电脑”, “儿童”:[{ “名称”:“苹果” }, { “名称”:“安卓” }, { “名称”:“窗口” }] }] }, { “姓名”:“电话”, “儿童”:[{ “名称”:“安卓”, “儿童”:[{ “名称”:“三星” }, { “名称”:“诺基亚” }, { “名称”:“联想” }] }, { “名称”:“Win
{“菜单”:[{
“名称”:“计算机”,
“儿童”:[{
“姓名”:“笔记本”,
“儿童”:[{
“名称”:“苹果”
}, {
“名称”:“窗口”
}]
}, {
“名称”:“平板电脑”,
“儿童”:[{
“名称”:“苹果”
}, {
“名称”:“安卓”
}, {
“名称”:“窗口”
}]
}]
}, {
“姓名”:“电话”,
“儿童”:[{
“名称”:“安卓”,
“儿童”:[{
“名称”:“三星”
}, {
“名称”:“诺基亚”
}, {
“名称”:“联想”
}]
}, {
“名称”:“Windows手机”,
“儿童”:[{
“名称”:“Microsoft”
}, {
“名称”:“诺基亚”
}]
}]
}, {
“名称”:“摄像机”,
“儿童”:[{
“名称”:“数字”,
“儿童”:[{
“名称”:“尼康”
}, {
“名称”:“富士”
}]
}, {
“名称”:“数码单反”,
“儿童”:[{
“名称”:“佳能”
}, {
“名称”:“尼康”
}]
}]
}]
}
您的代码在逻辑上是正确的,除非您总是附加到$(“#主菜单”)
。考虑这样做:
...
for( var i=0; i < s.menu.length; i++)
{
$("#main-menu").append(' <li id="menu-list-' + i + '"><a href="#">' + s.menu[i].name + '</a></li>');
var list_length = s.menu[i].children.length;
if (list_length > 0)
$("#main-menu li#menu-list-" + i).append('<ul></ul>');
for( var j=0; j < list_length; j++)
{
$("#main-menu li#menu-list-" + i + " ul").append(' <li id="menu-list-' + i + '-children-list-' + j + '"><a href="#">'+ s.menu[i].children[j].name + '</a></li>');
var children_list_length = s.menu[i].children[j].children.length;
if(children_list_length > 0)
$("#main-menu li#menu-list-" + i + " ul li#menu-list-" + i + "-children-list-" + j).append("<ul></ul>");
for( var n=0; n < children_list_length; n++)
{
$("#main-menu li#menu-list-" + i + " ul li#menu-list-" + i + "-children-list-" + j + " ul").append(' <li><a href="#">'+ s.menu[i].children[j].children[n].name +'</a></li>');
}
}
}
...
。。。
对于(变量i=0;i”);
var list_length=s.menu[i].children.length;
如果(列表长度>0)
$(“#主菜单li#菜单列表-”+i).append(“
”);
对于(var j=0;j”);
var children_list_length=s.menu[i].children[j].children.length;
如果(子项列表长度>0)
$(“#主菜单li#菜单列表-”+i+“ul li#菜单列表-“+i+”-子菜单-“+j”)。附加(“
”);
对于(变量n=0;n”);
}
}
}
...