Javascript 如何使用JSON和递归函数添加嵌套的子div。?
我正在使用Reddit api递归地获取注释和回复,我无法找到一种干净的方法将每个回复缩进父div,如果且仅当它的父级是回复所针对的注释。我该怎么做呢Javascript 如何使用JSON和递归函数添加嵌套的子div。?,javascript,jquery,recursion,reddit,Javascript,Jquery,Recursion,Reddit,我正在使用Reddit api递归地获取注释和回复,我无法找到一种干净的方法将每个回复缩进父div,如果且仅当它的父级是回复所针对的注释。我该怎么做呢 function reddit(){ var url = "https://www.reddit.com/r/news/comments/5959v5/exceo_of_red_light_camera_firm_sentenced_to_14/.json"; var promise = $.ajax({ url: u
function reddit(){
var url = "https://www.reddit.com/r/news/comments/5959v5/exceo_of_red_light_camera_firm_sentenced_to_14/.json";
var promise = $.ajax({
url: url,
type: "GET",
dataType: "json"
})
.done(function(json_data) {
$("#content").text("");//replace #content text with empty string
var comments = commentsFromJSON(json_data[1].data.children);
comments = $.parseHTML( comments );
comments = $("<div />").html(comments).text();
$("#content").append(comments);
})
.fail(function( jqXHR, textStatus, errorThrown) {
console.log("geddit Error");
console.log(errorThrown);
});
}
function commentsFromJSON(arr) {
var comments = '';
for (var i = 0, len = arr.length; i < len; i++) {
if (typeof arr[i] !== 'undefined') {
comments += arr[i].data.body_html;
if (typeof arr[i].data.replies !== 'undefined' && arr[i].data.replies !== '') {
comments += commentsFromJSON(arr[i].data.replies.data.children);
}
}
}
return comments;
}
函数reddit(){
变量url=”https://www.reddit.com/r/news/comments/5959v5/exceo_of_red_light_camera_firm_sentenced_to_14/.json";
var promise=$.ajax({
url:url,
键入:“获取”,
数据类型:“json”
})
.done(函数(json_数据){
$(“#内容”).text(“”;//用空字符串替换#内容文本
var comments=commentsFromJSON(json_data[1].data.children);
注释=$.parseHTML(注释);
comments=$(“”).html(comments.text();
$(“#内容”)。附加(评论);
})
.fail(函数(jqXHR、textStatus、errorshown){
日志(“geddit错误”);
console.log(错误抛出);
});
}
函数commentsFromJSON(arr){
var注释=“”;
对于(变量i=0,len=arr.length;i
但是我现在没有附加任何div,只是在末尾附加一个解析过的HTML字符串。我想我遇到的问题是如何使用迭代索引位置来检查它是否大于0,它应该是对上一个父div的回复