Advertisement
Guest User

Untitled

a guest
Dec 5th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.98 KB | None | 0 0
  1. var data = [{
  2. "Id": 1,
  3. "ParentId": 0,
  4. "Name": "实验学校",
  5. "Content": "实验学校",
  6. "IsOpen": false,
  7. "Chlidren": [{
  8. "Id": 4,
  9. "ParentId": 1,
  10. "Name": "高中部",
  11. "Content": "高中部",
  12. "IsOpen": false,
  13. "Chlidren": [{
  14. "Id": 7,
  15. "ParentId": 4,
  16. "Name": "高一",
  17. "Content": "高一",
  18. "IsOpen": true,
  19. "Chlidren": []
  20. }, {
  21. "Id": 8,
  22. "ParentId": 4,
  23. "Name": "高二",
  24. "Content": "高二",
  25. "IsOpen": true,
  26. "Chlidren": []
  27. }, {
  28. "Id": 9,
  29. "ParentId": 4,
  30. "Name": "高三",
  31. "Content": "高三",
  32. "IsOpen": true,
  33. "Chlidren": []
  34. }, {
  35. "Id": 10,
  36. "ParentId": 4,
  37. "Name": "高四",
  38. "Content": "高四",
  39. "IsOpen": true,
  40. "Chlidren": []
  41. }, {
  42. "Id": 11,
  43. "ParentId": 4,
  44. "Name": "高五",
  45. "Content": "高五",
  46. "IsOpen": true,
  47. "Chlidren": []
  48. }]
  49. }, {
  50. "Id": 6,
  51. "ParentId": 1,
  52. "Name": "初中部",
  53. "Content": "初中部",
  54. "IsOpen": false,
  55. "Chlidren": [{
  56. "Id": 12,
  57. "ParentId": 6,
  58. "Name": "初一",
  59. "Content": "初一",
  60. "IsOpen": true,
  61. "Chlidren": []
  62. }, {
  63. "Id": 13,
  64. "ParentId": 6,
  65. "Name": "初二",
  66. "Content": "初二",
  67. "IsOpen": true,
  68. "Chlidren": []
  69. }, {
  70. "Id": 14,
  71. "ParentId": 6,
  72. "Name": "初三",
  73. "Content": "初三",
  74. "IsOpen": true,
  75. "Chlidren": []
  76. }, {
  77. "Id": 15,
  78. "ParentId": 6,
  79. "Name": "初四",
  80. "Content": "初四",
  81. "IsOpen": true,
  82. "Chlidren": []
  83. }, {
  84. "Id": 16,
  85. "ParentId": 6,
  86. "Name": "初五",
  87. "Content": "初五",
  88. "IsOpen": true,
  89. "Chlidren": []
  90. }]
  91. }]
  92. }, {
  93. "Id": 2,
  94. "ParentId": 0,
  95. "Name": "景天学校",
  96. "Content": "景天学校",
  97. "IsOpen": false,
  98. "Chlidren": [{
  99. "Id": 17,
  100. "ParentId": 2,
  101. "Name": "南山学校",
  102. "Content": "南山学校",
  103. "IsOpen": true,
  104. "Chlidren": []
  105. }]
  106. }, {
  107. "Id": 3,
  108. "ParentId": 0,
  109. "Name": "福田学校",
  110. "Content": "福田学校",
  111. "IsOpen": true,
  112. "Chlidren": []
  113. }]
  114.  
  115.  
  116. function create(arr) {
  117. var body = document.getElementsByTagName('body')[0]
  118. var root = document.createElement('ul');
  119. root.classList = 'c-ul';
  120. for(var i=0; i<arr.length; i++) {
  121. var node = createNode(arr[i])
  122. root.appendChild(node);
  123. }
  124. body.appendChild(root)
  125. console.log(root.outerHTML);
  126. }
  127.  
  128. function createNode(node) {
  129. var li = document.createElement('li');
  130. var span = document.createElement('span');
  131. var i = document.createElement('i');
  132. var input = document.createElement('input');
  133. var a = document.createElement('a');
  134. span.setAttribute('data-text', node.Name)
  135. var isChild = node.IsOpen ? true: false;
  136. span.setAttribute('data-chlid', false)
  137. span.setAttribute('title', node.Name)
  138. i.classList = 'fa fa-angle-down'
  139. i.style = 'padding-left: 10px'
  140. input.classList="pcheck"
  141. input.setAttribute('type', 'checkbox')
  142. a.setAttribute('href',"javascript:void(0)")
  143. a.textContent = node.Content
  144. span.appendChild(i)
  145. span.appendChild(input)
  146. span.appendChild(a)
  147. var ul = document.createElement('ul');
  148. ul.classList = 'append-ul'
  149. li.appendChild(span)
  150. li.appendChild(ul)
  151.  
  152. if(!node.IsOpen) {
  153. for(var i = 0; i<node.Chlidren.length;i++) {
  154. var hel = createNode(node.Chlidren[i])
  155. ul.appendChild(hel)
  156. }
  157. }
  158. return li
  159. }
  160.  
  161. create(data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement