en.javascript.info/2-ui/1-document/11-modifying-document/7-create-object-tree/task.md
2015-03-12 10:26:02 +03:00

1.2 KiB
Raw Blame History

Создайте дерево из объекта

[importance 5]

Напишите функцию, которая создаёт вложенный список UL/LI (дерево) из объекта.

Например:

var data = {
  "Рыбы": {
    "Форель": {},
    "Щука": {}
  },

  "Деревья": {
    "Хвойные": {
      "Лиственница": {},
      "Ель": {}
    },
    "Цветковые": {
      "Берёза": {},
      "Тополь": {}
    }
  }
};

Синтаксис:

var container = document.getElementById('container');
*!*
createTree(container, data); // создаёт 
*/!*

Результат (дерево):

[iframe border=1 src="solution"]

Выберите один из двух способов решения этой задачи:

  1. Создать строку, а затем присвоить через `container.innerHTML`.
  2. Создавать узлы через методы DOM.

Если получится -- сделайте оба.

P.S. Желательно, чтобы в дереве не было лишних элементов, в частности -- пустых <ul></ul> на нижнем уровне.