kowapos,
после цикла, который запущен в аяксе нет ф-ии, которая считает, по коду ранее, считалка запускается куда ранее, нежели отработает аякс...
Потому ф-ю считалку ставте на вызов из ответа аякса после each
$.ajax({ // аяксим
type: 'POST',
url: '/ajax/loadTreeAjax.php',
dataType: 'json',
data: {accept:1},
success: function(data){
//console.log(data.projects);
$.each(data.projects, function (key) {
newElement = '<div class="elementList" id = "project' + data.projects[key].id_project + '"><div class="ObjectTitle"><span class="glyphicon glyphicon-folder-open"></span> ' + data.projects[key].name + '</div><div class="dropdown objMenu"><a data-toggle="dropdown"><span class="tools glyphicon glyphicon-cog"></span></a><ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"><li><a href="javascript:;">Совместный доступ</a></li><li><a href="javascript:;">Маркер</a></li><li><a href="javascript:;">Добавить в "Избранное"</a></li><li><a href="javascript:;">Информация</a></li></ul></div></div>';
blockProjects.children('.TitleBlock').after(newElement);
}); // each
//теперь после добавления контента, надо посчитать... для этого сделаем какую то yourFunction(){} на стороне...
yourFunction(); //будет находиться где то и содержать alert($('.elementList').size());
//Ну можно и сразу сделать вызов алерта, но все же это лучше вынести с обработки ответа,
//так же и сам ответ передать во внешнюю ф-ю для обработки
} // success
});