jQuery“show”直到element没有内联样式

时间:2011-11-07 22:40:16

标签: jquery jquery-selectors

好的,所以给定了这个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 个答案:

答案 0 :(得分:3)

许多方法可以做到这一点,其中之一是:

$('li:first').hover(function(){
    $(this).nextUntil('li:not(:hidden)').show();   
})

答案 1 :(得分:1)

.nextAll('li:hidden')将完成这项工作,您可以像这样使用它:

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

jsFiddle example

答案 2 :(得分:1)

$('ul > li:first').hover(function(){
    $(this).siblings().show();
});

你可以看到它在这个小提琴中起作用:

http://jsfiddle.net/XDNM7/