尝试使用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');
每个列表中的第一项应变为蓝色......
答案 0 :(得分:45)
尝试使用:
$('ul').find('li:visible:first').css('background','blue');
目前,您的代码只是获取页面上的第一个可见li
元素并设置背景颜色。此代码选择所有ul
元素,然后在每个元素中找到第一个可见的li
并应用该样式。
答案 1 :(得分:0)
如何使用它:
li:visible:not(:visible ~ :visible)
答案 2 :(得分:-2)
$('li:visible').eq(0).css('background','blue');