Javascript Json到嵌套列表:未捕获第一个节点
我正在使用下面的javascript函数将JSON转换为html列表,但由于第一个节点没有被很好地捕获,脚本无法工作。 要使用le NestedSortable jQuery插件,必须将所有节点封装在一个div标记中。 此外,第一个节点(名为Flare)应包含其所有子节点,而不是顶部唯一的节点。 谢谢你的灯Javascript Json到嵌套列表:未捕获第一个节点,javascript,json,Javascript,Json,我正在使用下面的javascript函数将JSON转换为html列表,但由于第一个节点没有被很好地捕获,脚本无法工作。 要使用le NestedSortable jQuery插件,必须将所有节点封装在一个div标记中。 此外,第一个节点(名为Flare)应包含其所有子节点,而不是顶部唯一的节点。 谢谢你的灯 函数getList(项$list){ 如果($.isArray(项目)){ $。每个(项目、功能(键、值){ getList(值,$list); }); 返回; } 如果(项目){ 控制台
函数getList(项$list){
如果($.isArray(项目)){
$。每个(项目、功能(键、值){
getList(值,$list);
});
返回;
}
如果(项目){
控制台日志(项目);
变量$li=$(“”);
如果(项目名称){
$li.append($(''+item.name+'');
}
if(item.children&&item.children.length){
变量$sublist=$(“”);
getList(item.children$子列表)
$li.append($sublist);
}
$list.append($li)
}
}
$(函数(){
变量$ol=$('');
$.getJSON('https://bitbucket.org/john2x/d3test/raw/2ce4dd5112448088fe357b8179d1088ef19524b8/d3/examples/data/flare.json,函数(json){
$.each(json、函数(键、值){
getList(值,$ol);
})
});
//getList(value.node,$ul);
$ol.appendTo(“#主列表容器”);
$('.sTree2')。嵌套可排序({
废除“无巢”,
大小:true,
句柄:“div”,
助手:“克隆”,
项目:"李",,
最大级别:0,
不透明度:.6,
占位符:“占位符”,
回复:250,
tabSize:25,
公差:“指针”,
公差元素:'>div',
/*魔术师:*/
连接方式:'.sortable'
});
});代码>
ol.sTree{padding:0px;背景色:#151515;}
ol.stree2li,ol#可排序列表基本li{左填充:50px;边距:5px;边框:1px实心#3f3f;背景色:#3f3f;}
ol li div{padding:7px;背景色:#222;Nborder:1px solid#3f3f;}
ol li,ol li分区{边界半径:3px;}
主要问题是在每个函数中调用getList
。。。但是从http调用返回的对象不是数组
函数getList(项$list){
如果($.isArray(项目)){
$。每个(项目、功能(键、值){
getList(值,$list);
});
返回;
}
如果(项目){
控制台日志(项目);
变量$li=$(“”);
如果(项目名称){
$li.append($(''+item.name+'');
}
if(item.children&&item.children.length){
变量$sublist=$(“”);
getList(item.children$子列表)
$li.append($sublist);
}
$list.append($li)
}
}
$(函数(){
变量$ol=$('');
$.getJSON('https://bitbucket.org/john2x/d3test/raw/2ce4dd5112448088fe357b8179d1088ef19524b8/d3/examples/data/flare.json,函数(json){
getList(json,$ol);
});
//getList(value.node,$ul);
$ol.appendTo(“#主列表容器”);
$('.sTree2')。嵌套可排序({
废除“无巢”,
大小:true,
句柄:“div”,
助手:“克隆”,
项目:"李",,
最大级别:0,
不透明度:.6,
占位符:“占位符”,
回复:250,
tabSize:25,
公差:“指针”,
公差元素:'>div',
/*魔术师:*/
连接方式:'.sortable'
});
});代码>
ol.sTree{padding:0px;背景色:#151515;}
ol.stree2li,ol#可排序列表基本li{左填充:50px;边距:5px;边框:1px实心#3f3f;背景色:#3f3f;}
ol li div{padding:7px;背景色:#222;Nborder:1px solid#3f3f;}
ol li,ol li分区{边界半径:3px;}
非常感谢。也许您可以告诉我如何使第一个节点成为列表中所有其他节点的容器,因为它应该是这样的?