tsigel большое спасибо за пример и алгоритм я даже не знал как к этому подойти. Вот мое решение
function count_group_value (){
var tr = $("#work_report tr:visible");
var td = tr[1].querySelectorAll("td");
var sum = 0;
for (var depth = 5; depth >= 0; depth-- ) {
for (var j = 1; j < td.length; j++ ) {
for (var i = tr.length - 1; i >= 0; i--) {
if ($(tr[i]).hasClass('depth_' + depth)) {
sum += parseInt(tr[i].querySelectorAll("td")[j].innerHTML) || 0;
}
if ($(tr[i]).hasClass('depth_'+ (depth-1))) {
tr[i].querySelectorAll("td")[j].innerHTML = sum;
sum = 0;
}
}
}
}
}