<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」Sの部分の背後に配置されているが、 は、親要素ではありません。
私はこれをやっている:
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 またはバニラJavaScriptのいくつかの方法を逃していますか?私はこれをより洗練された形で行うことができます &効率的な方法ですか?
お寄せいただきありがとうございます。
あなたは何を達成しようとしていますか? –
数式は、小さな要素の左上の点が大きな要素の内側にあるかどうかだけを検出します。小さなものの右下が大きなものの中にあればどうなりますか?重複していますが、数式では検出されません。 – cmcculloh