index.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <div id="container"></div>
  9. <script>
  10. //----------3 persons --- different fields --- fields check
  11. /*let a={
  12. name:'John',
  13. surname:'Johnson'
  14. };
  15. let b={
  16. name:"Ivan",
  17. surname:"Ivanov"
  18. };
  19. let c={
  20. name:'Kevin',
  21. surname:"McKalister"
  22. };
  23. a.sex='man';
  24. a.age=17;
  25. b.fathername='Jonson';
  26. c.age=19;
  27. let key =prompt('','');
  28. if(key in a){
  29. alert(a[key]);
  30. }*/
  31. //----------array of persons
  32. /* let a={
  33. name:'John',
  34. surname:'Johnson'
  35. };
  36. let b={
  37. name:"Ivan",
  38. surname:"Ivanov"
  39. };
  40. let c={
  41. name:'Kevin',
  42. surname:"McKalister"
  43. };
  44. let persons=[a,b,c];
  45. persons.push({name:"Frank", surname:'Lampard'});
  46. //loop of persons
  47. for(let item of persons){
  48. console.log(item);
  49. }
  50. //loop of name and surname
  51. for(let item of persons){
  52. console.log(item.name+" "+item.surname);
  53. }
  54. //loop of loop of values
  55. for(let item of persons){
  56. for(let name of Object.values(item)){
  57. console.log(name);
  58. }
  59. }
  60. //fullName
  61. for(let item of persons){
  62. item.fullName=item.name+" "+item.surname;
  63. console.log(item.fullName);
  64. }
  65. console.log(persons);
  66. //serialize
  67. let json=JSON.stringify(persons,null,2);
  68. console.log(json);
  69. //deserialize
  70. let d=JSON.parse(json)[0];
  71. console.log(d);
  72. persons.push(d);
  73. console.log(persons);*/
  74. //----------HTML
  75. /*let str = "<table border='1'><tr><td>Имя</td><td>Фамилия</td></tr>";
  76. for (let i=0;i<persons.length;i++){
  77. let g=persons[i];
  78. str += `<tr><td>${g.name}</td><td>${g.surname}</td></tr>`;
  79. }
  80. str += "</table>";
  81. document.write(str);*/
  82. //----------HTML optional fields --- HTML tr color
  83. /*
  84. let str = "<table border='1'>";
  85. for (let i=0;i<persons.length;i++){
  86. let g=persons[i];
  87. if(i%2){
  88. str+="<tr bgcolor='yellow'>";
  89. }else{
  90. str+='<tr>';
  91. }
  92. for(let item in g){
  93. if(item){
  94. str+=`<td>${item}: ${g[item]}</td>`;
  95. }
  96. }
  97. str+='</tr>';
  98. }
  99. str += "</table>";
  100. document.write(str);*/
  101. //---------HTML th optional
  102. /*persons[2].age=19;
  103. persons[3].age=27;
  104. persons[3].sex='man';
  105. let keys=[];
  106. for(let item of persons){
  107. for(let i of Object.keys(item)){
  108. if(!keys.includes(i)){
  109. keys.push(i);
  110. }
  111. }
  112. }
  113. console.log(keys);
  114. let str = "<table border='1'><tr>";
  115. for(let i of keys){
  116. str+=`<th>${i}</th>`;
  117. }
  118. str+='</tr>';
  119. for(let item of persons){
  120. str+='<tr>';
  121. for(let it in item){
  122. for(let i=0;i<keys.length;i++){
  123. if(keys[i]==it){
  124. str+=`<td bgcolor='yellow'>${item[it]}</td>`;
  125. }
  126. }
  127. }
  128. str+='</tr>';
  129. }
  130. document.write(str);*/
  131. //----------Blue belt
  132. var someTree = {
  133. tagName: "table",
  134. subTags: [
  135. {
  136. tagName: "tr",
  137. subTags: [
  138. {
  139. tagName: "td",
  140. text: "some text",
  141. },
  142. {
  143. tagName: "td",
  144. text: "some text 2",
  145. }
  146. ]
  147. }
  148. ],
  149. attrs: {
  150. border: 1,
  151. },
  152. }
  153. container.innerHTML=createHTML(someTree);
  154. function createHTML(obj){
  155. for(let i in obj){
  156. let tag=document.createElement(obj.tagName);
  157. if(i==subTags){
  158. for(let item of subTags){
  159. let tag2=document.createElement(item[0].tagName);
  160. tag.append()
  161. if(item[0].subTags){
  162. }
  163. }
  164. }
  165. tag.append()
  166. }
  167. }
  168. </script>
  169. </body>
  170. </html>