我想将所有内容隐藏在用户单击的元素下(但保留上面的内容)。看看这个演示:http: //jsfiddle.net/dS2vA/
所以如果你点击第二个,它下面<li>
的三个<li>
s 应该被隐藏了。如果单击 4th <li>
,则应仅隐藏第 5 个元素。
我尝试这样做,:not('clicked')
但它也针对单击元素上方的元素。
有任何想法吗?
我想将所有内容隐藏在用户单击的元素下(但保留上面的内容)。看看这个演示:http: //jsfiddle.net/dS2vA/
所以如果你点击第二个,它下面<li>
的三个<li>
s 应该被隐藏了。如果单击 4th <li>
,则应仅隐藏第 5 个元素。
我尝试这样做,:not('clicked')
但它也针对单击元素上方的元素。
有任何想法吗?
尝试这样的事情:
$('ul li').click(function() {
$('ul li').each(function() {
$(this).removeClass();
})
$(this).nextAll("li").slice(0,3).addClass('clicked');
})
除了VisioN的答案,更具体地说,您可以添加一个选择器过滤器(“li”),nextAll()
如下所示:
$(this).nextAll("li").hide();