Wydajne wykrywanie nakładania się elementów rodzeństwa

Przykład:

<div id="big">&nbsp;</div>
<div class="small">&nbsp;</div>
<div class="small">&nbsp;</div>
<div class="small">&nbsp;</div>
<div class="small">&nbsp;</div>
<div class="small">&nbsp;</div>
<!-- ...and so on -->

„#big” jest umieszczony absolutnie za częścią „.small”, ale nie jest elementem nadrzędnym.

Robiłem to:

           var smallArray = [];

           var $big = $('#big');
           var $bigPos = $big.offset();

           $('div.small').each(function() {
                    var $this = $(this);
                    var $thisPos = $this.offset();

                    if(
                            $thisPos.left >= $bigPos.left &&
                            $thisPos.left <= $bigPos.left+$big.outerWidth() &&
                            $thisPos.top >= $bigPos.top &&
                            $thisPos.top <= $bigPos.top+$big.outerHeight()
                    ) smallArray.push($this);
            });

... ale to wydaje się niezdarne. Czy brakuje mi niektórych metod jQuery lub waniliowego JavaScript, które pozwolą mi to zrobić w bardziej elegancki i wydajny sposób?

Dziękujemy za wszelką pomoc.

questionAnswers(1)

yourAnswerToTheQuestion