Made it to myself. Run this function, then point element, hold ctrl and click; click to expand. It will collapse all children elements until next header. To collapse header and children you need to point to header directly (empty space after heading text, not text itself). Demo on youtube
function nAddTogglerNew(){
//can toggle everything!
if (window.nAddTogglerNew) return;
window.nAddTogglerNew=true;
var nTTogglerText = {collapse:'collapse', expand:'expand'};
$('body').on('mouseup',function(e){
if ((!e.ctrlKey) || (e.which!==1)) return; //ctrl+lmb
var ntt=nTTogglerText.expand;
ntt=$(e.target).text().trim().substring(0, 20)+'...';
if ((ntt.length<4) || (ntt.substring(0,1)=='<')) ntt=nTTogglerText.expand;
var ndiv=$('<div class="ntoggler">'+ntt+'</div>');
$(ndiv).insertBefore(e.target).on('click',function(e){
var nns=e.target.nextSibling;
$(nns).slideToggle('fast');
$(nns).nextUntil($(nns).prop('tagName')+',h1,h2,h3,h4,h5').slideToggle('fast');
$(e.target).remove();
});
$(e.target).slideToggle('fast');
$(e.target).nextUntil($(e.target).prop('tagName')+',h1,h2,h3,h4,h5').slideToggle('fast');
//$(e.target).children().toggle();
});
return;
} //nAddTogglerNew
Light infobox-only version you can try here.