I had an html navigation code as below
function Data(string) { //1. get some data from server according to month year etc., //2. unactive all the remaining li's and make the current clicked element active by adding "active" class to the element $('.filter').removeClass('active'); $(this).addClass('active'); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="row" style="padding-left:21px;"> <ul class="nav nav-tabs" style="padding-left:40px;"> <li class="active filter"><a href="#month" onclick="Data('month')">This Month</a></li> <li class="filter"><a href="#year" onclick="Data('year')">Year</a></li> <li class="filter"><a href="#last60" onclick="Data('last60')">60 Days</a></li> <li class="filter"><a href="#last90" onclick="Data('last90')">90 Days</a></li> </ul> </div>
When the user clicks on any of the tabs
My code above is not working.
this
(current) object is send when the user clicks on the tab?To add a class on click of anchor tag, we use addClass() method. The addClass() method is used to add more property to each selected element. It can also be used to change the property of the selected element.
You can use addEventListener to pass this to a JavaScript function.
Use this html to get the clicked element:
<div class="row" style="padding-left:21px;"> <ul class="nav nav-tabs" style="padding-left:40px;"> <li class="active filter"><a href="#month" onclick="Data('month', this)">This Month</a></li> <li class="filter"><a href="#year" onclick="Data('year', this)">Year</a></li> <li class="filter"><a href="#last60" onclick="Data('last60', this)">60 Days</a></li> <li class="filter"><a href="#last90" onclick="Data('last90', this)">90 Days</a></li> </ul> </div>
Script:
function Data(string, el) { $('.filter').removeClass('active'); $(el).parent().addClass('active'); }
You can use addEventListener
to pass this
to a JavaScript function.
HTML
<button id="button">Year</button>
JavaScript
(function () { var btn = document.getElementById('button'); btn.addEventListener('click', function () { Date('#year'); }, false); })(); function Data(string) { $('.filter').removeClass('active'); $(this).parent().addClass('active') ; }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With