hashyx
hashyx

Reputation: 87

jQuery: Change css class on click

I try to change a css class on click. But it does not work. What am I doing wrong?

<div id="tags">
    <span class="badge badge-secondary">Watchlist</span>
    <span class="badge badge-secondary">Watched</span>
    <span class="badge badge-secondary">Like</span>
</div>

Script:

<script>
    $( "#tags" ).click(function() {
        .find("span")
        .removeClass("badge-secondary")
        .addClass("badge-primary");
    });
</script>

I am thankful for every hint.

Upvotes: 1

Views: 105

Answers (1)

gaetanoM
gaetanoM

Reputation: 42044

You can use .toggleClass() directly on spans:

$( "#tags span" ).on('click', function(e) {
    $(this).toggleClass('badge-secondary badge-primary')
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>

<div id="tags">
    <span class="badge badge-secondary">Watchlist</span>
    <span class="badge badge-secondary">Watched</span>
    <span class="badge badge-secondary">Like</span>
</div>

Upvotes: 3

Related Questions