jquery无法从保存的`jquery对象`中获取`visible`元素

时间:2015-01-06 17:05:47

标签: javascript jquery html

我想从保存的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

1 个答案:

答案 0 :(得分:1)

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

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

如果你需要获取所有div然后调用它的第一个节点[0]

,你也可以使用JQuery过滤器
console.log(divs.filter(':visible')[0]);

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

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