Получение первого видимого элемента с помощью 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');
Первый элемент в каждом списке должен быть синим...
Ответы
Ответ 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');