jQuery not function不能按预期工作

时间:2019-03-25 07:14:08

标签: javascript jquery html

我已经使用下面的代码来切换div的类。

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<head>
</head>
<body>  
   <div class="members-section " id="as-member"><img 
    src="img/test1.jpg" alt="">
    <span>Join as a new member</span>
  </div>
   <div class="members-section " id="as-student"><img 
    src="img/test2.jpg" alt=""> 
    <span>Join as a student</span>
  </div>
  <div class="members-section "><img src="img/test3,jpg" alt="">
   <span>Upgrade my membership</span>
 </div>
 <div class="members-section test-member">
  <h5>Teest...</h5>
   <ul class="member-options">
    <li><span>Discounts</span></li>
    <li><span>Institute access</span></li>
    <li><span>Library access</span></li>
    <li><span>Market events</span></li>
   </ul>
</div>
<script>        
$(document).ready(function($) {
    $('#as-member').click(function(e){
        $('.members-section').not($(this)).toggleClass('unselected');
    });         
 });
 </script>
</body>
</html>

上面的代码将未选择的类切换到除当前单击的元素之外的所有其他div。

所以我希望div也不要切换包含“ test-member”

类的类

这可以实现吗?任何人都对此进行调查并向我更新您的想法,谢谢。

1 个答案:

答案 0 :(得分:2)

使用其他not()方法即可。另外,您无需包装SELECT T1.SMTHNG, COUNT(T1.SMTHNG) FROM SomeTable T1 INNER JOIN ( SELECT MAX(SMTHNG) AS A FROM SomeTable ) T2 ON T1.SMTHNG = T2.A GROUP BY T1.SMTHNG; 即可与not()方法一起使用,因为它接受DOM元素对象作为参数。

this


或者,您可以在主选择器中添加伪类选择器:not()

$(document).ready(function($) {
  $('#as-member').click(function(e){
    $('.members-section').not(this).not('.test-member').toggleClass('unselected');
    // here -----------------------^^^^^^^^^^^^^^^^^^^------
  });         
});