使用jquery隐藏列表中的所有li,但不隐藏具有类名称“ matter”的那个li

时间:2018-09-21 15:35:28

标签: jquery

我有一个列表,所以当我单击按钮时,它应该隐藏所有li,但不隐藏所有具有类名“ matter”的li,因此如何仅使用类名使用jquery做到这一点。

<ul class="sub-menu">        
  <li >list 1</li>
  <li class="matter">list 2</li>
  <li >list 3</li>
  <li >list 4</li>
</ul>
<button name="btn" class="btn_click">Click me</button>
$(".btn_click").on('click', function() { 

// here code that will hide all li but not that li who has class name 'matter'
});

1 个答案:

答案 0 :(得分:2)

您可以简单地使用jQuery选择器 :not 或jQuery方法 .not()

$('.sub-menu li:not(.matter)').hide();
//Or
$('.sub-menu li').not('.matter').hide();

$(".btn_click").on('click', function() {
  $('.sub-menu li:not(.matter)').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul class="sub-menu">
  <li>list 1</li>
  <li class="matter">list 2</li>
  <li>list 3</li>
  <li>list 4</li>
</ul>

<button name="btn" class="btn_click">Click me</button>