簡體   English   中英

jQuery not function不能按預期工作

[英]jquery not function is not working as expected

我用下面的代碼來切換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”類的對象

能做到這一點嗎? 任何人都對此進行調查,並告訴我您的想法,謝謝。

使用其他的not()方法即可。 此外,您不需要換this與使用not()方法,因為它接受一個DOM元素對象作為參數。

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


或者,您可以在主選擇器中添加偽類選擇器:not()

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM