Stackoverflow Response: Find closest element in complete document

http://stackoverflow.com/questions/16194578/find-closest-element-in-complete-document/16194734#16194734

by Terry Young

HTML

<div class="you" data-verb="slapped">
    <div>
        <div class="you" data-verb="found"></div>
        <div class="me"></div>
        <div></div>
        <div></div>
        <div></div>
        <div class="you" data-verb="punched"></div>
    </div>
</div>

<div id="who"></div>

JavaScript

$(document).ready(function () {
    var $me = $('.me'),
        crazyNumber = 99999999,
        allOfYou = [
            { 
                elements: $me.parentsUntil('.you'),
                target: $me.parentsUntil('.you').parent()
            },
            { 
                elements: $me.nextUntil('.you'),
                target: $me.nextUntil('.you').andSelf().filter(':last').next()
            },
            { 
                elements: $me.prevUntil('.you'),
                target: $me.prevUntil('.you').andSelf().filter(':last').prev()
            }
        ],
        sorted = allOfYou.sort(function (objA, objB) {
            var a = objA.elements.length + 1 || crazyNumber,
                b = objB.elements.length + 1 || crazyNumber;
            return a - b;
        });

    $('#who').html("You " + sorted[0].target.data('verb') + ' me! :)');
});