以下のピースコードを見てください。
$(document).ready(function() {
$('a.upvote-off').click(function() {
$(this).removeClass('upvote-off').addClass('upvote-on');
});
$('a.upvote-on').click(function() {
$(this).removeClass('upvote-on').addClass('upvote-off');
});
});
upvote-off
これは、アンカー タグのクラスを削除してから に置き換える単純な jQuery トグル関数upvote-on
です。同様に、コードの 2 番目の部分は、同じアイコンが再度クリックされると、最初のコードを逆にします。アンカー タグのデフォルト値は ですupvote-off
。
関数の最初の部分が実行されます。
$('a.upvote-off').click(function() {
$(this).removeClass('upvote-off').addClass('upvote-on');
});
ただし、2番目は機能しません。
$('a.upvote-on').click(function() {
$(this).removeClass('upvote-on').addClass('upvote-off');
});
それでも、最初の部分をコメントアウトすると、2 番目の部分が機能します。どうしてこれなの?
.toggleClass()
後でそれぞれに追加したい、より複雑な機能がいくつかあるため、使用していないことに注意してください。