Подтвердить что ты не робот

Получение первого видимого элемента с помощью jQuery

Попытка получить первый видимый элемент списка с помощью псевдоселекторов jQuery :first и :visible, как предлагается здесь: qaru.site/info/275855/..., но это не работая:

Fiddle: 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');

Первый элемент в каждом списке должен быть синим...

4b9b3361

Ответ 1

Попробуйте использовать это:

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

В настоящее время ваш код просто получает первый видимый элемент li на странице и устанавливает цвет фона. Этот код выбирает все элементы ul, а затем находит первый видимый li внутри каждого из них и применяет стиль.

Здесь он работает: http://jsfiddle.net/FAY9q/5/

Ответ 2

Как насчет этого:

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

Ответ 3

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