Fastest way to accomplish this is to use jquery! 🙂
function fixTabs(){ $.each($(".customNavTabActive"), function() { $(this).removeClass("customNavTabActive"); $(this).parentsUntil("table").each(function() { $(this).removeClass("customNavTabActive"); }); }); $.each($("a.customNavTab"), function() { if (this.href == document.location.href || this.href + "/default.aspx" == document.location.href) { $(this).parent("td").addClass("customNavTabActive"); } }); } |
Update: I have improved this code a little bit 🙂
function fixTabs(){ var normalNavTavCss = "customNavTab"; var firstCellActiveCss = "customNavTabActive"; var firstCellCss = "customNavTab"; var lastCellActiveCss = "customNavTabActive"; var lastCellCss = "customNavTab"; var cellActiveCss = "customNavTabActive"; $.each($("." + cellActiveCss), function() { $(this).removeClass(cellActiveCss); $(this).parentsUntil("table").each(function() { $(this).removeClass(cellActiveCss); }); }); var lastCell; var lastCellSelected; $.each($("." + normalNavTavCss + " a"), function(i) { lastCell = $(this).parent("td"); var location = document.location.href.replace("/default.aspx", ""); var link = this.href.replace("/default.aspx", ""); lastCellSelected = (link == location || location.indexOf(link) > -1); if (lastCellSelected) { if (i == 0) { lastCell.addClass(firstCellActiveCss); } else { lastCell.addClass(cellActiveCss); } } else if (i == 0) { lastCell.addClass(firstCellCss); } }); if (lastCellSelected) { lastCell.removeClass(cellActiveCss); lastCell.removeClass(firstCellActiveCss); lastCell.addClass(lastCellActiveCss); } else { lastCell.addClass(lastCellCss); } } |