Categories
jQuery

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://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");
     });

7 replies on “jQuery Highlight Navigation Menu v.02 Script”

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');
});

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.

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 Reply

Your email address will not be published. Required fields are marked *