2016-04-04 1 views
0

現在は.section-resourcesをクラスとして持つ3つのdivの間で.test-activeクラスを切り替える必要があります。一度に1つのdivのみ.test-activeを持つべきです。jQuery - 3つのdivのいとこの間のアクティブなクラスを切り替えます

それは.test-activeがすべての3つのdivに追加されています。

ご迷惑をおかけして申し訳ございませんが、私の最初の投稿です。 :P

jQuery(document).ready(function($) { 
 
    $(document).ready(function() { 
 
    $('.section-resources').click(function(e) { 
 
     if ($('this').not('.test-active')) { 
 
     $('.section-resources').addClass('test-active'); 
 
     } else if ($('.section-resources').hasClass('test-active')) { 
 
     $('this').removeClass('test-active'); 
 
     } else { 
 
     $('this').addClass('test-active'); 
 
     } 
 
     e.preventDefault(); 
 
    }); 
 
    }); 
 
});
.test-active { 
 
    border: 1px solid #ff0000; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="frame"> 
 
    <div> 
 
    <a href="#!">some link</a> 
 
    <div class="section-resources"><a href="">Lorem ipsum dolor sit amet</a> 
 
    </div> 
 
    <div> 
 
     <a href="#!">some link</a> 
 
     <div class="section-resources"><a href="">Lorem ipsum dolor sit amet</a> 
 
     </div> 
 
     <div> 
 
     <a href="#!">some link</a> 
 
     <div class="section-resources"><a href="">Lorem ipsum dolor sitamet</a> 
 
     </div> 
 
     </div>

答えて

0

これを試してみてください:

$('.section-resources').click(function(target) { 
     $('.section-resources').removeClass('test-active'); 
     $(target).addClass('test-active'); 
     target.preventDefault(); 
    }); 
+0

ありがとうございました。私はこれを試して、すぐに結果を投稿しよう! :D – Andy

関連する問題