Reputation: 87
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
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