我想要隐藏用户点击的元素(但保留上面的内容)。看看这个演示:http://jsfiddle.net/dS2vA/
因此,如果您点击第二个<li>
,则应隐藏其下的三个<li>
。如果单击第4个<li>
,则只应隐藏第5个元素。
我尝试使用:not('clicked')
进行此操作,但也针对点击元素上方的元素。
有什么想法吗?
答案 0 :(得分:5)
答案 1 :(得分:1)
尝试这样的事情:
$('ul li').click(function() {
$('ul li').each(function() {
$(this).removeClass();
})
$(this).nextAll("li").slice(0,3).addClass('clicked');
})
答案 2 :(得分:1)
除了 VisioN 的回答之外,更具体地说,您可以将选择器过滤器(“li”)添加到nextAll()
,如下所示:
$(this).nextAll("li").hide();