javascript的递归? 如何写出js的递归然后读取json添加到相对应的dom中?
PHP中文网
PHP中文网 2017-04-11 10:13:47
[JavaScript讨论组]

下面是一个多级嵌套的JSON,使用AJAX方式,应用递归把每一级JSON,都添加 到相应的DOM中。

{
    "name": "BeJson",
    "url": "http://www.bejsoxxn.com",
    "page": 88,
    "isNonProfit": true,
    "address": {
        "street": "科技园路.",
        "city": "江苏苏州",
        "country": "中国"
    },
    "links": [
        {
            "name": "Google",
            "url": "http://www.google.com"
        },
        {
            "name": "Baidu",
            "url": "http://www.baidu.com"
        }
    ]
}
    for(var i in data){
         var ul = document.createElement("ul");
         var li = document.createElement('li');
         li.innerHTML=data[i];
         ul.appendChild(li);
       document.body.appendChild(ul);
    }

以下是浏览器显示的信息

BeJson
http://www.bejsoxxn.com
88
true
[object Object]
[object Object],[object Object]

我想让 浏览器页面倒数一二 显示json里的信息。请问怎么做?
别人让我写遍历一次。
我不知道怎么写出来

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
黄舟
(function(){
  var res = {
    name:"aa",
    child:{
      name: "bb",
      child: {
        name: "cc",
        child: null
      }
    }
  };
  var container = document.querySelector(".container");
  function insertNode(parent, node){
    console.log(parent, node);
    var li = document.createElement("li");
    var text = document.createTextNode(node.name);
    li.appendChild(text);
    if(node.child){
      var ul = document.createElement("ul");
      insertNode(ul, node.child);
      li.appendChild(ul);
    }
    parent.appendChild(li);
  }
  insertNode(container, res);
})();

一个纯js的例子,如果页面嵌套复杂的情况,写起来就可能比较麻烦了。
如果你使用angular或者vue的话,通过data binding会写得比较好看一点。

伊谢尔伦
function func() {
    //todo
    
    if (condition) {
        func();
    }
}

有什么问题吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号