Это решение самое короткое и не будет искать больше элементов, чем необходимо:
var $el = $('#3');
while ($el.css('display') !== 'block' && ($el = $el.parent().length)){}
После завершения $ el будет либо родительским элементом display: block, либо, если его нет, будет элементом jQuery без элементов.