main.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. var someTree = {
  2. tagName: "table", //html tag
  3. subTags: [ //вложенные тэги
  4. {
  5. tagName: "tr",
  6. subTags: [
  7. {
  8. tagName: "td",
  9. attrs: {
  10. style: "'color: #000'"
  11. },
  12. text: "some text",
  13. },
  14. {
  15. tagName: "td",
  16. text: "some text 2",
  17. }
  18. ]
  19. },
  20. ],
  21. attrs:
  22. {
  23. border: 1,
  24. style: "'border: 1px solid #ccc'",
  25. cellspacing: 0
  26. },
  27. }
  28. var str = "";
  29. str += "<" + someTree.tagName + ' ';
  30. for (var i = 0; i < Object.keys(someTree.attrs).length; i++) {
  31. str += Object.keys(someTree.attrs)[i] + '=' + someTree.attrs[Object.keys(someTree.attrs)[i]] + " ";
  32. }
  33. str += ">";
  34. for (var i = 0; i < someTree.subTags.length; i++) { // вывожу внутренние теги
  35. str += "<" + someTree.subTags[i].tagName + ' ';
  36. if(someTree.subTags[i].attrs){ // если у тега нет атрибутов то цикл не исполняется
  37. for (var j = 0; j < Object.keys(someTree.subTags[i].attrs).length; j++) {
  38. str += Object.keys(someTree.subTags[i].attrs)[j] + '=' + someTree.subTags[i].attrs[Object.keys(someTree.subTags[i].attrs)[j]] + " ";
  39. }
  40. }
  41. str += ">";
  42. if(someTree.subTags[i].text)
  43. str += someTree.subTags[i].text;
  44. for (var k = 0; k < someTree.subTags[i].subTags.length; k++) {
  45. str += "<" + someTree.subTags[i].subTags[k].tagName + ' ';
  46. if(someTree.subTags[i].subTags[k].attrs){ // если у тега нет атрибутов то цикл не исполняется
  47. for (var j = 0; j < Object.keys(someTree.subTags[i].subTags[k].attrs).length; j++) {
  48. str += Object.keys(someTree.subTags[i].subTags[k].attrs)[j] + '=' + someTree.subTags[i].subTags[k].attrs[Object.keys(someTree.subTags[i].subTags[k].attrs)[j]] + " ";
  49. }
  50. }
  51. str += ">";
  52. if(someTree.subTags[i].subTags[k].text)
  53. str += someTree.subTags[i].subTags[k].text;
  54. str += "</" + someTree.subTags[i].subTags[k].tagName + ' >';
  55. }
  56. str += "</" + someTree.subTags[i].tagName + ">";
  57. }
  58. str += "</" + someTree.tagName + ">";
  59. document.write(str);