什么是在 html 文档中查找第一个元素的最佳方法,其中类 myClass 的位置顶部大于指定
问问题
256 次
2 回答
4
.myClass
根据top过滤元素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;
}
}
于 2012-09-30T14:23:25.687 回答
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
元素,只返回第一个元素并停止。
于 2012-09-30T14:24:16.993 回答