Спасибо за совет, изучил. Если кому нужно, получился такой скрипт:
(function($, undefined) {
$(function(){
$('ul#n-ul-Top').click(function(event){
var target, target_ul, url;
//поддержка кроссбраузерности
event = event || window.event;
target = event.target || event.srcElement;
if (target.tagName !== 'LI') return false;
target_ul='#n-ul-'+target.id;
url='/catalog/'+target.id;
if ($(target).hasClass("isOpen")){
$(target).removeClass("isOpen");
$(target_ul).empty();
} else{
$.getJSON(url, function(data){
$(target).addClass("isOpen");
data.forEach(function(item) {
$(target_ul).append('<li class="Node" id='+item._id+'>'+item.caption+'</li>');
$('#'+item._id).append('<ul class="TreeContainer" id="n-ul-'+item._id+'">');
});
});
}
return false;
});
});
})(jQuery);