我目前有大量的跨度都有一个共同的类(你可能从标题中猜到)。当我尝试:
$(".span-class").offset().top;
我正在尝试检查一个元素与所有跨距之间的冲突,而不创建超过10个唯一ID和.offset
调用。但我只接受HTML中类的第一个元素的.offset().top
值。
那么有没有办法检查所有这些元素的位置,而不需要额外的10行代码?提前谢谢!
答案 0 :(得分:2)
var spanArr = [];
$("span.span-class").each(function () {
spanArr.push($(this).offset().top);
});
答案 1 :(得分:1)
以下是使用map代替each解决此问题的另一种方法。你的问题显然是地图的用例。
var offSetops = $(".span-class").map(function(){
return $(this).offset().top;
}).get();
var offSetops = $(".span-class").map(function(){
return $(this).offset().top;
}).get();
console.log(offSetops);

.span-class{
display:block;
height: 10px;
margin: 2px;
background-color: gray;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="span-class"></span>
<span class="span-class"></span>
<span class="span-class"></span>
<span class="span-class"></span>
<span class="span-class"></span>
&#13;
答案 2 :(得分:0)
试试..
var offSetops = [];
$(".span-class").each(function(){
var offsetTop = $(this).offset().top;
offsetops.push(offsetTop);
})
console.log(offSetops);