25

尝试使用 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>

查询:

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

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

4

3 回答 3

54

尝试使用这个:

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

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

它在这里工作:http: //jsfiddle.net/FAY9q/5/

于 2013-08-10T14:14:08.607 回答
0

如何使用这个:

li:visible:not(:visible ~ :visible)
于 2014-08-19T19:43:58.530 回答
-1
$('li:visible').eq(0).css('background','blue');
于 2013-08-10T14:16:24.890 回答