en.javascript.info/2-ui/1-document/11-modifying-document/7-create-object-tree/task.md
2015-01-24 23:53:50 +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> на нижнем уровне.