jquery 无法从已保存的“jquery 对象”中获取“可见”元素

jquery not able to get `visible` elements from saved `jquery object`

我想从保存的 jquery 对象中检索 :visble:first 元素。我需要 firstlastfirst-prevlast-next 以满足各种要求。

我试过了,但没用。

html :

<div class="test">1</div>
<div class="test">2</div>
<div class="test">3</div>
<div class="test">4</div>
<div class="test">5</div>

jQuery :

var divs = $('.test'); // i stored here

console.log(divs.find(':visible:first')); //always returns 5

console.log($(':visible:first', divs)); //always returns 5

这个选择器有什么问题?

Live

使用 filter() 将搜索子元素,您想检查 :first:visible 原始查询。

var divs = $('.test:visible:first');

你也可以使用JQuery过滤器来获取所有的div然后调用它的第一个节点[0]

console.log(divs.filter(':visible')[0]);

或者如果您想保留 jquery 选择器,您可以使用 .first()

console.log(divs.filter(':visible').first());