Your browser (Internet Explorer 7 or lower) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.

X

Navigate / search

jQuery Highlight Navigation Menu v.02 Script

I have found a simpler way to add class=”selected” to any navigation menu by checking your URL path against links on the page. I’ve only tested this with page slugs in wordpress. But it works very nicely.

// Highlight Tab v.02 by Jake Rutter
// Website: http://www.onerutter.com
// Feel free to use and adapt, please just give credit where credit is due.
        jQuery(document).ready(function(){
             var path = location.pathname;
              jQuery("a[href$='" + path + "']").addClass("selected");
     });

Comments

lorenzo
Reply

are you using superfish or?
I'd like to see some source files.

Thanks!

vlp
Reply

Hi, thanks for the script, I just have one problem. On the homepage all the menu items get class selected…how to select just "Home"?

vlp
Reply

I found this solution to my previous comment –

jQuery(document).ready(function(){
var path = location.pathname;
if(location.pathname != "/") {
jQuery("a[href$='" + path + "']").addClass("current");
} else $('#menu a:eq(1)').addClass('current');
});

Anonymous Coward
Reply

This works great if there already is no class attribute set. But my link already has an attribute. For example class="someclass", and this snippet doesn't make it class="someclass selected", which is what I want. Would that be possible? This snippet was great help for me and I am not very fluent in javascript.

sid
Reply

This is not working in IE 6, pls tell how to make it work in IE6

raj
Reply

I have an issue with the script. In IE6, the script is not working. How to solve it ?

raj
Reply

one more solution from my side
jQuery(document).ready(function(){
var file_name = document.location.href;
var end = (file_name.indexOf("?") == -1) ? file_name.length : file_name.indexOf("?");
jQuery("a[href='" + file_name.substring(file_name.lastIndexOf("/")+1, end) + "']").addClass("selected");
});

Leave a comment

name

email (not published)

website