简体   繁体   中英

JQuery addClass not working on anchor tag on click event

addClass() is not working on jQuery on click event. My code looks like this.

 init: function () { ShareData.config.pageNo = 1; ShareData.ajaxCall(); $(document).on('click', 'ul#pagination li a', function () { ShareData.config.pageNo = $(this).text(); ShareData.ajaxCall(); $("ul#pagination li a.clickedLink").removeClass("clickedLink"); $(this).addClass('clickedLink'); }); }, var pageLink = ""; for (var i = 1; i <= totalPage; i++) { if (i == 1) { pageLink += "<li><a href='#' class='clickedLink'>" + i + "</a></li>"; } else { pageLink += "<li><a href='#' class=''>" + i + "</a></li>"; } } document.getElementById('pagination').innerHTML = pageLink; 
 .pagination ul li a.clickedLink { background-color: #BBB; } .pagination ul li a{ color: #000; height: 24px; line-height: 24px; width: 24px; text-align: center; display: inline-block; text-decoration: none; border: 1px solid #000; background: #FFF; text-shadow: none; } .pagination ul li { float: left; } 
 <div class="pagination"> <ul id="pagination"> </ul> </div> 

And output is like this

带有分页的html表 Everything is working fine on load while, i need to change the background of recently clicked anchor tag.

Here you go with a solution https://jsfiddle.net/dk5n4695/2/

 $('a').click(function(){ $('a[class="clickedLink"]').removeClass('clickedLink'); $(this).addClass('clickedLink'); }); 
 .clickedLink { background-color: #BBB; } ul li a{ color: #000; height: 24px; line-height: 24px; width: 24px; text-align: center; display: inline-block; text-decoration: none; border: 1px solid #000; background: #FFF; text-shadow: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> </ul> 

  $('ul#pagination li a').on('click', function () { $("ul#pagination li a.clickedLink").removeClass("clickedLink"); $(this).addClass('clickedLink'); }); 
 .clickedLink{ color:red } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="pagination"> <ul id="pagination"> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> </ul> </div> 

Try below and see if it works.

init: function () {
                ShareData.config.pageNo = 1;
                ShareData.ajaxCall();
                $(document).on('click', 'ul.pagination li a', function () {
                    ShareData.config.pageNo = $(this).text();
                    ShareData.ajaxCall();
                    $("ul.pagination li a.clickedLink").removeClass("clickedLink");
                    $(this).addClass('clickedLink');
                });
            },

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM