找到位置顶部的对象> x使用jquery

时间:2012-09-30 14:19:45

标签: javascript jquery html

使用位置top大于指定的类myClass在html文档中查找第一个元素的最佳方法是什么

2 个答案:

答案 0 :(得分:4)

根据.myClass顶部过滤position元素,然后获取集合中的第一个元素:

var elem = $('.myClass').filter(function() {
    return $(this).position().top > 200;
}).first();

这将为您提供第一个元素,它与顶部之间的距离包含200px以上的元素等。要获得相对于文档的位置,您可以使用offset()代替。

如果性能问题,我想这是最快的:

var elems = document.getElementsByClassName('myClass'), elem;
for (var i=0;i<elems.length;i++) {
    if (parseInt(elems[i].style.top, 10)>200) {
        elem=elems[i];
        break;
    }
}

答案 1 :(得分:1)

错误(第一个回答):

var $elm = jQuery.each($('.myClass'), function() {
    if ($(this).attr('top') > x) return $(this); 
});

确定

var $elm;
jQuery.each($('.myClass'), function() {
    if ($(this).attr('top') > x) {
        $elm = $(this);
        return false;
    }
});

此解决方案不会解析所有.myClass元素,只返回第一个元素并停止。