var jsonData =
[{"subnetId":,"subnetNode":-,"subnetRemark":"状态自带","subnetName":"中心网络"},
{"subnetId":,"subnetNode":,"subnetRemark":"好好的","subnetName":"北京"},
{"subnetId":,"subnetNode":,"subnetRemark":"大唐电信","subnetName":"大唐电信"},
{"subnetId":,"subnetNode":,"subnetRemark":"","subnetName":"上海"},
{"subnetId":,"subnetNode":,"subnetRemark":"","subnetName":"中国联通"},
{"subnetId":,"subnetNode":,"subnetRemark":"","subnetName":"移动"},
{"subnetId":,"subnetNode":,"subnetRemark":"","subnetName":"你好"}];

有数组如上,用递归的方式实现一下效果,

subnetId与subnetNode相等时,subnetId作为父节点,subnetNode作为子节点

 function show(data,node){
var ul = "<ul>";
for(var i=;i<data.length;i++){
if(data[i]!=null){
if(data[i].subnetNode==node){
ul += "<li style='margin-left:10px;'>"+data[i].subnetName;
ul += show(data,data[i].subnetId);
ul += "</li>";
}
}
}
ul+="</ul>";
return ul;
}
var a = show(jsonData,-);
console.log(a);
var div = document.createElement(div);
div.innerHTML = a;
document.body.appendChild(div);

js递归方法创建节点的更多相关文章

  1. JS DOM创建节点

    DOM节点操作之增删改查 document.write() 可以向文档中添加节点 但是有个致命问题,会把文档原有的节点全部清空 因此不推荐使用 <!DOCTYPE html> <ht ...

  2. js添加创建节点和合并节点

    var _div = document.createElement("div"), //创建节点 txt1 = document.createTextNode("123& ...

  3. js创建节点及其属性

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. js中创建html标签、加入select下默认的option的value和text、删除select元素节点下全部的OPTION节点

    <pre name="code" class="java"> jsp 中的下拉框标签: <s:select name="sjx&qu ...

  5. js的DOM节点操作:创建 ,插入,删除,复制,查找节点

    DOM含义:DOM是文档对象模型(Document Object Model,是基于浏览器编程的一套API接口,是W3C出台的推荐标准.其赋予了JS操作节点的能力.当网页被加载时,浏览器就会创建页面的 ...

  6. JQuery_DOM 节点操作之创建节点、插入节点

    一.创建节点 为了使页面更加智能化,有时我们想动态的在html 结构页面添加一个元素标签,那么在插入之前首先要做的动作就是:创建节点 <script type="text/javasc ...

  7. js动态创建样式: style 和 link

    js动态创建样式: style 和 link ie6 不能 document.createElement('style') 然后append到head标签里.所以就找到这样个好文章 有很多提供动态创建 ...

  8. javascript创建节点的事件绑定

    javascript创建节点的事件绑定 timeupdate事件是<video>中用来返回视频播放进度的事件,绑定在<video>标签返回视频播放位置(每秒计). 现video ...

  9. 使用jQuery创建节点、将节点插入到指定的位置

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. window10 安装SVN 提示权限问题

     http://www.yishimei.cn/network/551.html 经常在网上看到有同学反映,他们在控制面板里卸载软件的时候,总是会出现2502.2503错误代码的问题,并且这个问题大多 ...

  2. Android studio 中的配置编译错误总结

    1.编译Andorid 工程的时候,有时候出现gradle 报下面的错误. Error:(1, 0) Cause: com/android/build/gradle/LibraryPlugin : U ...

  3. 忘记mysql root密码的解决方法

    一. MySQL密码的恢复方法一 有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复 1. 停止mysql ...

  4. mysql数据库服务日志

    mysql数据库服务日志 ①. 错误日志:error_log ②. 普通日志:general_log ③. 慢查询日志:log-slow-query #有3个参数 分割:.mv .编写定时任务并执行: ...

  5. 应用ERP系统与企业的关系

      随着ERP系统的深入发展,越来越多的企业开始实施ERP,ERP实施是借用一种新的管理模式来改造原企业旧的管理模式,是先进的.行之有效的管理思想和方法.ERP软件在实际的推广应用中,其应用深度和广度 ...

  6. checkbox的readonly效果

    用disabled会使控件整个灰掉,checkbox没有readonly属性,可以用下面的写法: <input id="check1" type="checkbox ...

  7. mysql优化一 之 优化内容概述及开启慢查日志的相关配置

    1-1数据库优化的目的 首先是为了避免出现页面访问错误(基本有三种) (1)由于数据库连接timeout产生的页面5XX错误 (2)由于慢查询造成页面无法加载 (3)由于阻塞造成的数据无法提交 其次: ...

  8. [转]save all TWebbrowser Frame Sources?

    注:有一定的参考价值,转存 // Code 1 uses  ActiveX, MSHTML_TLB, ComCtrls, ComObj; function GetBrowserForFrame(Doc ...

  9. hdu 5901 Count primes

    题意: 计数区间$[1, n](1 \leq n \leq 10^{11})$素数个数. 分析: 这里只介绍一种动态规划的做法. 首先要说一下[分层思想]在动态规划中非常重要,下面的做法也正是基于这一 ...

  10. 数据库中的左连接(left join)和右连接(right join)区别

    Left Join / Right Join /inner join相关 关于左连接和右连接总结性的一句话: 左连接where只影向右表,右连接where只影响左表. Left Join select ...