Reputation: 5
The code below is working fine, but now I need to change the color of the link that was clicked, so users can know which one is selected.
When clicked shoud be class="class_active", and all others shoud be class="class_inactive".
I've tried to add the code below, but it doesn't change the others link's class.
What is wrong?
=============================
$(function () {
$('.dis-content div').hide()
$('.dis-content .area1').show()
$(".dis-nav a").click(function (e) {
//TRIED TO DO THIS;
//$(this).toggleClass('class_active');
//$(this).toggleClass('class_inactive');
e.preventDefault();
var myClass = $(this).attr("id");
// alert(myClass);
$('.dis-content div').hide();
$(".dis-content ." + myClass).show();
});
$(".dis-nav #show-all").click(function (e) {
$('.dis-content div').show()
});
});
=============================
<div class="dis-nav button">
<a href="#" id="area1" class="class_active">Firefox</a>
<a href="#" id="area2" class="class_inactive">Safari</a>
<a href="#" id="area3" class="class_inactive">Chrome</a>
<a href="#" id="area4" class="class_inactive">IE</a>
<a href="#" id="show-all" class="class_inactive">Show all</a>
</div>
<div class="dis-content">
<div class="area1">
<h3>Firefox</h3>
<p>Suspendisse potenti. Morbi ac felis nec mauris imperdiet fermentum. Aenean sodales augue ac lacus hendrerit sed rhoncus erat hendrerit. Vivamus vel ultricies elit. Aliquam ut feugiat ante. Curabitur lacinia nulla vel tellus elementum non mollis justo aliquam.</p>
<a href="#" class="btn btn-warning"><i class="icon-shopping-cart"></i> Buy</a> <a href="#" class="btn btn-success">TryMais</a>
</div>
<div class="area2">
<h3>Safari</h3>
<p>Suspendisse potenti. Morbi ac felis nec mauris imperdiet fermentum. Aenean sodales augue ac lacus hendrerit sed rhoncus erat hendrerit. Vivamus vel ultricies elit. Aliquam ut feugiat ante. Curabitur lacinia nulla vel tellus elementum non mollis justo aliquam.</p>
<a href="#" class="btn btn-warning"><i class="icon-shopping-cart"></i> Buy</a> <a href="#" class="btn btn-success">TryMais</a>
</div>
<div class="area3">
<h3>Chrome</h3>
<p>Suspendisse potenti. Morbi ac felis nec mauris imperdiet fermentum. Aenean sodales augue ac lacus hendrerit sed rhoncus erat hendrerit. Vivamus vel ultricies elit. Aliquam ut feugiat ante. Curabitur lacinia nulla vel tellus elementum non mollis justo aliquam.</p>
<a href="#" class="btn btn-warning"><i class="icon-shopping-cart"></i> Buy</a> <a href="#" class="btn btn-success">TryMais</a>
</div>
<div class="area4">
<h3>IE</h3>
<p>Suspendisse potenti. Morbi ac felis nec mauris imperdiet fermentum. Aenean sodales augue ac lacus hendrerit sed rhoncus erat hendrerit. Vivamus vel ultricies elit. Aliquam ut feugiat ante. Curabitur lacinia nulla vel tellus elementum non mollis justo aliquam.</p>
<a href="#" class="btn btn-warning"><i class="icon-shopping-cart"></i> Buy</a> <a href="#" class="btn btn-success">TryMais</a>
</div>
</div>
Upvotes: 0
Views: 53
Reputation: 28437
I am guessing this is what you need:
$(this).removeClass('class_inactive').addClass('class_active').siblings().removeClass('class_active').addClass('class_inactive');
Upvotes: 1
Reputation: 6787
First, you'll have to remove class_active
from all of your links:
$('.dis-nav a').removeClass('class_active').addClass('class_inactive')
Then, you can add the class class_active
to your current element:
$(this).removeClass('class_inactive').addClass('class_active');
Does this solve?
Upvotes: 0