Я также хотел бы изучить использование jQuery с jQuery tmpl и tmpl.plus.Затем вы можете создать рекурсивный шаблон для рендеринга.Существует некоторая кривая обучения, но человек действительно отделяет разметку от вашей логики. jQuery tmpl
Если рекурсия выполнена правильно, это может быть так же просто, как вызов:
var data = {"1":[],"css":{"admin":[],"tabs":{"skin1":{"images":[]},"skin10":{"images":[]},"skin11":{"images":[]},"skin12":{"images":[]},"skin2":[],"skin3":{"images":[]},"skin4":{"images":[]},"skin5":{"images":[]},"skin6":{"images":[]},"skin7":{"images":[]},"skin8":{"images":[]},"skin9":{"images":[]}}},"img":{"admin":[],"filemanager":[],"icons":[]},"js":{"libs":[]},"menu":{"img":[]},"walpappere":{"1":[]}};
//create the recursive template
$.template('myFolders'," ====this is the hard part here==== ");
//some javascript to add functionality to each nested list
var postProcess = function(item){
$(item.nodes[0]).click(function(e){
console.log("This is the item you clicked",$(this));
});
};
//create the templates with event handling and append to the body
$.tmpl('myFolders',data, {rendered:postProcess}).appendTo($('body'));
Этот вид рабочего процесса отлично подходит для действительно динамичных сайтов