А вот это вот похоже работает.
function trackman (obj,type){
this.link=obj; //ссылка на обьект для манипуляция.
this.name=$(obj).attr("id"); //сохраняем id
this.subject=[]; //здесь храним вложенные обьекты
if (type==1){ // если изучаем column, тоесть ищем портлеты
finder=$(obj).find(">.portlet"); //делаем выборку
length=finder.length; // определяем длинну выборки
for (i=0;i<length;i++){ // перебираем выборку в цикле
this.subject.push(new trackman(finder[i],-1)); // передаём в рекурсию
}
console.log(this); //показываем в логе что у нас получилось
} else { //если изучаем portlet, тоесть ищем column
jQuery.each($(obj).find(".column:not(.column .column)"), function(){ // здесь пока на FOR не менял, но поменяю
self.subject.push(new trackman(this,1));
});//*/
}
}
function arrangerRefrash(){
var i=0;
jQuery.each($(".wrpage> .column"),function(){ // перебираем все column
arrObj[i]=new trackman (this,1) ;
i=i+1;
});
}
Значит проблема была в контексте сохранённом в self, хотя механизьм это проблемы я так до конца и не понял. Всё равно спасибо, недогнал пока не написал на форум. )))