jQuery «показывать», пока элемент не имеет встроенного стиля - PullRequest
1 голос
/ 08 ноября 2011

Хорошо, поэтому, учитывая эту структуру HTML:

<li></li>
<li style="display: none;"></li>
<li style="display: none;"></li>
<li style="display: none;"></li>
<li style="display: none;"></li>
<li></li>

Так что мне нужен селектор jQuery, который при наведении на первую li «показывает» следующие четыре li, потому что они имеют display:none, а затем не влияет на последнюю li потому что на нем нет display:none

Ответы [ 3 ]

3 голосов
/ 08 ноября 2011

Множество способов сделать это, один из которых:

$('li:first').hover(function(){
    $(this).nextUntil('li:not(:hidden)').show();   
})
1 голос
/ 08 ноября 2011
$('ul > li:first').hover(function(){
    $(this).siblings().show();
});

Вы можете видеть, как он работает в этой скрипке:

http://jsfiddle.net/XDNM7/

1 голос
/ 08 ноября 2011

.nextAll('li:hidden') выполнит работу, вы можете использовать ее следующим образом:

$('li').hover(function(){
    $(this).nextAll('li:hidden').show();
});

jsFiddle пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...