使用jQuery获取第一个可见元素

时间:2013-08-10 14:09:01

标签: jquery jquery-selectors

尝试使用jQuery的:first:visible伪选择器获取列表的第一个可见元素,如下所示:https://stackoverflow.com/a/830611/165673但它不起作用:

小提琴: http://jsfiddle.net/FAY9q/4/

HTML:

<ul>
    <li>Item A</li>
    <li>Item B</li>
    <li>Item C</li>
</ul>
<ul>
    <li style="display:none;">Item A</li>
    <li>Item B</li>
    <li>Item C</li>
</ul>

JQUERY:

$('li:visible:first').css('background','blue');

每个列表中的第一项应变为蓝色......

3 个答案:

答案 0 :(得分:45)

尝试使用:

$('ul').find('li:visible:first').css('background','blue');

目前,您的代码只是获取页面上的第一个可见li元素并设置背景颜色。此代码选择所有ul元素,然后在每个元素中找到第一个可见的li并应用该样式。

这里有效:http://jsfiddle.net/FAY9q/5/

答案 1 :(得分:0)

如何使用它:

li:visible:not(:visible ~ :visible)

答案 2 :(得分:-2)

$('li:visible').eq(0).css('background','blue');