Etat actif sur la navigation après l’actualisation de la page

C’est le code que j’utilise actuellement pour append un état actif à un élément après avoir cliqué sur l’un des boutons de navigation et redirigé la page.

Je me demandais s’il y avait une autre façon de le faire car cela ne fonctionne que sur ma machine locale mais pas sur un serveur.

$(document).ready(function () { current_page = document.location.href if (current_page.match(/home/)) { $("ul#ulMenuNav li:eq(0) a").addClass('navActive'); } else if (current_page.match(/about/)) { $("ul#ulMenuNav li:eq(1) a").addClass('navActive'); } else if (current_page.match(/location/)) { $("ul#ulMenuNav li:eq(2) a").addClass('navActive'); } else if (current_page.match(/staff/)) { $("ul#ulMenuNav li:eq(3) a").addClass('navActive'); } else if (current_page.match(/contact/)) { $("ul#ulMenuNav li:eq(4) a").addClass('navActive'); } else { $("ul#ulMenuNav li a").removeClass('navActive'); }; }); 

Vous pouvez essayer ceci: http://jsfiddle.net/jaiprakashsah/thrDq/

 var url = document.location.href; var str = url.substr(0, url.lastIndexOf('/')); var nUrl = str.substr(str.lastIndexOf('/')+1); $('ul#ulMenuNav li a:contains('+nUrl+')').addClass('active'); 

Que diriez-vous:

 $(document).ready(function () { var current_page = document.location.href; $('ul#ulMenuNav li a').removeClass('navActive'); $('ul#ulMenuNav li a[href*="'+current_page+'"]').addClass('navActive'); });