例子:
<div id="big"> </div>
<div class="small"> </div>
<div class="small"> </div>
<div class="small"> </div>
<div class="small"> </div>
<div class="small"> </div>
<!-- ...and so on -->
“#big”绝对位于“.small”的一部分之后,但不是父元素。
我一直在这样做:
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);
});
...但这似乎很笨拙。我是否错过了一些 jQuery 或 vanilla JavaScript 方法,它们可以让我以更优雅和更有效的方式做到这一点?
提前感谢您提供的任何帮助。