3

我想将所有内容隐藏在用户单击的元素下(但保留上面的内容)。看看这个演示:http: //jsfiddle.net/dS2vA/

所以如果你点击第二个,它下面<li>的三个<li>s 应该被隐藏了。如果单击 4th <li>,则应仅隐藏第 5 个元素。

我尝试这样做,:not('clicked')但它也针对单击元素上方的元素。

有任何想法吗?

4

3 回答 3

5

只需使用以下内容:

$(this).nextAll().hide();

演示:http: //jsfiddle.net/dS2vA/1/

于 2013-03-11T18:18:10.340 回答
1

尝试这样的事情:

$('ul li').click(function() {
    $('ul li').each(function() {
        $(this).removeClass();
    })
    $(this).nextAll("li").slice(0,3).addClass('clicked');
})
于 2013-03-11T18:30:34.347 回答
1

除了VisioN的答案,更具体地说,您可以添加一个选择器过滤器(“li”),nextAll()如下所示:

$(this).nextAll("li").hide();
于 2013-03-11T18:34:01.207 回答