在jQuery(或Javascript)中,如何获取;最高的;元素?

在jQuery(或Javascript)中,如何获取;最高的;元素?,javascript,jquery,Javascript,Jquery,我有一个元素列表(类为“newsitem”),可以在整个页面中使用。我想要最高的元素,即该类中“top”值最低的元素。如何高效地进入jQuery,目前我正在迭代newsitem类,存储最大值并将其与迄今为止的最小值进行比较。这几乎是唯一的方法,还是有实际的方法 谢谢 PS:这个方法最接近我现在所做的: PPS我有50%的回答率,只是因为到目前为止我的两个问题没有相关的答案答案 我想$(“.newsitem:first”)应该这样做。我认为应该这样做(但我还没有测试它) 用法 我不知道这个方法有什

我有一个元素列表(类为“newsitem”),可以在整个页面中使用。我想要最高的元素,即该类中“top”值最低的元素。如何高效地进入jQuery,目前我正在迭代newsitem类,存储最大值并将其与迄今为止的最小值进行比较。这几乎是唯一的方法,还是有实际的方法

谢谢

PS:这个方法最接近我现在所做的:


PPS我有50%的回答率,只是因为到目前为止我的两个问题没有相关的答案答案

我想
$(“.newsitem:first”)
应该这样做。

我认为应该这样做(但我还没有测试它)

用法


我不知道这个方法有什么快捷方式,基本上你需要做一个jquery选择器,使用
each
方法和
.css('top')
来比较值。值得注意的是,即使有一个快捷功能,它也可能像你在内部一样循环,因此不会更有效率(尽管它看起来更好),你可以搜索一个适合你需要的jquery插件,你永远不知道这是否已经被其他人解决了:)我想我知道你要去哪里了,但是你认为传递给内联
.each()
的函数中的'this'变量会是什么<代码>此具有功能级别范围。我想您需要像
.each(函数(索引,元素){…})这样的东西并在
元素上操作,而不是在$(此)上操作。'这将是您所处的功能。参考资料:@DanielNWerner我猜你误解了,从你提供的链接
this.style.color=“blue”演示在这里使用相同的样式
this
始终引用当前元素(您应该首先查看该页面上的示例),有趣的是jQuery将执行范围设置为DOM元素的执行范围,但是如果您提供了参数列表,那么当您拥有该元素时,为什么还要使用$(this)执行另一个DOM查找呢?我只是懒得记住哪一个位于两者之间(索引和元素)也许稍后jQuery团队决定交换它(只是一个愚蠢的例子),但我的代码仍然有效。这段代码有很多错误。
最高的
应该是
最高的
应该是
$(“.newsitem:first”)如果元素不按顺序排列,则不起作用。如果第一个元素低于第二个元素,$(“:first”)返回“first”元素。
function get_topmost_element(selector) {
    var top = 0,
        el;
    $(selector).each(function(){
        var offset = $(this).offset();
        if (offset.top > top) {
            highest = offset.top;
            el = $(this);
        }
    });

    return el;
}
get_topmost_element('.newsitem');