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

Yar*_*rin 20 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>
Run Code Online (Sandbox Code Playgroud)

JQUERY:

$('li:visible:first').css('background','blue');
Run Code Online (Sandbox Code Playgroud)

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

Joe*_*Joe 46

试试这个:

$('ul').find('li:visible:first').css('background','blue');
Run Code Online (Sandbox Code Playgroud)

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

这是工作:http://jsfiddle.net/FAY9q/5/