ок, спасибо всем большое за помощь. отдельный респект Никите. код итоговой функции:
function clickByHideElems( elems, k ) {
$children = $(elems).children();
if( k == 0 ) {
$hideNext = $children.find(".hide-next").filter(function(){ return $(this).text() === hashEls[k]; });
} else {
$hideNext = $children.filter(".hide-next").filter(function(){ return $(this).text() === hashEls[k]; });
}
if ($hideNext.length) {
$hideNext.click();
if ( k < hashEls.length - 1 ) {
k = k+1;
clickByHideElems($hideNext.next("div"), k);
} else {
destination = $hideNext.offset().top;
$('html,body').animate({ scrollTop: destination }, 1000);
}
} else {
clickByHideElems( $children, k );
}
}