递归函数-jQuery,获取链接
我在用于列表(文件夹和链接)的递归函数中遇到问题 每个文件夹都有链接,也许每个文件夹也都有子文件夹 我的问题是,我不能显示他们的相关文件夹内的链接,我的代码只是列出没有链接的文件夹 这是我的密码:递归函数-jQuery,获取链接,jquery,ajax,recursion,Jquery,Ajax,Recursion,我在用于列表(文件夹和链接)的递归函数中遇到问题 每个文件夹都有链接,也许每个文件夹也都有子文件夹 我的问题是,我不能显示他们的相关文件夹内的链接,我的代码只是列出没有链接的文件夹 这是我的密码: function buildTree(jsonUrl) { function tree(treeData) { var mainUl = $('<ul>'); $.each(treeData, function( inde
function buildTree(jsonUrl) {
function tree(treeData) {
var mainUl = $('<ul>');
$.each(treeData, function( index, folder ) {
id = "folder"+ folder.id;
var li =$('<li id="'+id+'" >');
ul = $('<ul>');
ul.append(li.text(folder.name).append(tree(folder.subFolders)));
$.each(folder.links, function( index, link ) {
ul.append($('<li>').text(link.name));
});
mainUl.append(li);
});
return mainUl;
}
$.ajax({
url: jsonUrl,
dataType: "json",
type: "get",
success: function (data) {
$('#links-tree').append(tree(data));
},
error: function (e) {
console.log(e)
},
});
}
函数构建树(jsonUrl){
函数树(treeData){
var mainUl=$(“”);
$.each(树数据、函数(索引、文件夹){
id=“folder”+folder.id;
变量li=$(“- ”);
ul=$(“
”);
追加(li.text(folder.name).append(tree(folder.subFolders));
$.each(folder.links,函数(索引,链接){
ul.append($(“- ”).text(link.name));
});
主要附加(li);
});
返回mainUl;
}
$.ajax({
url:jsonUrl,
数据类型:“json”,
键入:“获取”,
成功:功能(数据){
$(“#链接树”).append(树(数据));
},
错误:函数(e){
控制台日志(e)
},
});
}
检查这个,这就是你想要实现的目标。请参考这个
只是在下面做了一些改变
function tree(treeData) {
if (treeData) {
var mainUl = $('<ul>');
$.each(treeData, function(index, folder) {
id = "folder" + folder.id;
var li = $('<li id="' + id + '" >');
ul = $('<ul>');
li.text(folder.name);
ul.append(li.text(folder.name).append(tree(folder.subFolders)).append(tree(folder.links)));
mainUl.append(li);
});
return mainUl;
}
}
函数树(treeData){
if(treeData){
var mainUl=$(“”);
$.each(树数据、函数(索引、文件夹){
id=“folder”+folder.id;
变量li=$(“- ”);
ul=$(“
”);
li.text(文件夹名称);
追加(li.text(folder.name).append(tree(folder.subFolders)).append(tree(folder.links)));
主要附加(li);
});
返回mainUl;
}
}
链接应如何显示?鉴于您的数据结构,它们与您当前循环的子文件夹
是一个完全独立的数组。在每个子文件夹中都有链接数组,以下是json数据:您是否有JSFIDLE for is请?@FadiNouh检查我的回答我们接近了。。。但它只给出最后一个子文件夹的链接,因为例如在JSFIDLE中的“Marcia”文件夹中,也有显示在li中的链接also@FadiNouh请给出Marcia
folder中的链接文本这是json文件,正如我们可以看到的,Marcia文件夹中有链接数组,但它们没有显示在您的JSFIDLE中,谢谢您的帮助:)这很完美,但只是最后一点,在每个链接- ,可以清楚地说,链接只能是li,里面什么都没有,因为只有子文件夹内部有
- ,谢谢你这么好的帮助谢谢你这么多,你救了我一天