Javascript 如何使用jQuery将单击下的元素作为目标
我想隐藏用户单击的元素下的所有内容(但保留上面的内容)。查看此演示: 因此,如果你点击第二个Javascript 如何使用jQuery将单击下的元素作为目标,javascript,jquery,html,Javascript,Jquery,Html,我想隐藏用户单击的元素下的所有内容(但保留上面的内容)。查看此演示: 因此,如果你点击第二个,它下面的三个应该被隐藏。如果单击第四个,则只应隐藏第五个元素 我试着用:不('clicked')来做这件事,但它也针对单击元素上方的元素 有什么想法吗?只需使用以下方法: $(this).nextAll().hide(); 演示:尝试以下方法: $('ul li').click(function() { $('ul li').each(function() { $(this).
,它下面的三个
应该被隐藏。如果单击第四个
,则只应隐藏第五个元素
我试着用:不('clicked')
来做这件事,但它也针对单击元素上方的元素
有什么想法吗?只需使用以下方法:
$(this).nextAll().hide();
演示:尝试以下方法:
$('ul li').click(function() {
$('ul li').each(function() {
$(this).removeClass();
})
$(this).nextAll("li").slice(0,3).addClass('clicked');
})
$(this).nextAll("li").hide();
除了VisioN的答案之外,更具体地说,您可以向
nextAll()
添加选择器过滤器(“li”),如下所示:
$('ul li').click(function() {
$('ul li').each(function() {
$(this).removeClass();
})
$(this).nextAll("li").slice(0,3).addClass('clicked');
})
$(this).nextAll("li").hide();
不需要,因为在有效标记中,
元素的所有同级元素也应该是
元素。是的,在本例中,这不是必需的,但在有其他类型的子元素的情况下,这会很有帮助。请注意,您也可以只执行$('ul li')。removeClass()
在click事件中,而不是每次循环中。@OP希望每次单击时删除类;)@视觉编辑和改变,哇!