Javascript 如何在一个列表中隐藏除前两个之外的所有li,在另一个列表中隐藏第三个和第四个li?

Javascript 如何在一个列表中隐藏除前两个之外的所有li,在另一个列表中隐藏第三个和第四个li?,javascript,jquery,Javascript,Jquery,你能告诉我如何隐藏除前两个李之外的所有李吗?在第二种情况下,我想隐藏所有的李,但点击显示3和4李 这是我的密码 预期输出:单击第一个按钮时,仅显示1和2。如果用户单击第二个按钮,它将显示3和4以仅显示前两个li,您可以使用:gt(1)获取以下所有li,然后隐藏它们 要仅显示第三个和第四个li,可以将not()与:eq(2)和:eq(3)结合使用,以hide()隐藏不需要的部分。试试这个: $('#id_show12')。单击(函数(){ $('.show12 li:gt(1)').hide(

你能告诉我如何隐藏除前两个李之外的所有李吗?在第二种情况下,我想隐藏所有的李,但点击显示3和4李 这是我的密码


预期输出:单击第一个按钮时,仅显示
1
2
。如果用户单击第二个按钮,它将显示
3
4
以仅显示前两个
li
,您可以使用
:gt(1)
获取以下所有
li
,然后
隐藏它们

要仅显示第三个和第四个
li
,可以将
not()
:eq(2)
:eq(3)
结合使用,以
hide()
隐藏不需要的部分。试试这个:

$('#id_show12')。单击(函数(){
$('.show12 li:gt(1)').hide();
})
$('#id_show34')。单击(函数(){
$('.show34 li')。而不是(':eq(2),:eq(3)')。隐藏();
})

  • 一,
  • 二,
  • 三,
  • 四,
  • 一,
  • 二,
  • 三,
  • 四,
只显示一个/两个
仅显示三/四个
编辑按钮的id

<button id="id_show12">show only one two li</button>
<button id="id_show34">show three four two li</button>

我不知道为什么这会被否决。OP在解决这个问题上表现出了努力,并提供了所有必要的代码。这比我们看到的大多数问题都要好得多。@Rorymcrossan你有什么想法吗?不知道你的意思-我已经添加了一个答案否是删除的否不是。。。?您可以在此处更好地使用
.not(…).hide()
而不是
.hide().filter(…).show()
。我不知道你为什么在
中添加这个类。show34 li:eq(3)
。我将把它写成
$('.show34 li')。而不是(':eq(2),:eq(3)')。hide()坦斯克@RoryMcCrossan@Thomas关于使用
not()
-updated,您是对的。这个类的使用只是一个打字错误。谢谢
<button id="id_show12">show only one two li</button>
<button id="id_show34">show three four two li</button>
$(function(){
  $('#id_show12').click(function(){
        $('.show12 li:nth-child(n+3)').css("display", "none");   
    })
  $('#id_show34').click(function(){
       $('.show34 li:nth-child(-n+2), .show34 li:nth-child(n+5)').css("display", "none");  
    })
})