Search code examples
htmlasp.netcssmenumaster-pages

How to highlight active page in a masterpage menu?


I have a menu inside a masterpage (in a ASP.NET Web site), and i want to highlight active page in masterpage menu and submenus.

HTML:

<ul id="nav" class="sf-menu">
    <li class="current-menu-item"><a href="index.html">Home</a></li>    
    <li><a href="page.html">menu-2</a>
       <ul>
          <li><a href="page-full.html">full</a></li>
          <li><a href="page-features.html">featurs</a></li>
          <li><a href="page-typography.html">typography</a></li>
       </ul>
    </li>
</ul>

CSS:

#nav>li.current-menu-item>a,
#nav>li.current_page_item>a{
    color: #fe8300;
}

thanks in advance.


Solution

  • finally i solved my problem with using jQuery:

        var str=location.href.toLowerCase();
        $("#nav li a").each(function() {
            if (str.indexOf($(this).attr("href").toLowerCase()) > -1) {
                $("li.current-menu-item").removeClass("current-menu-item");
                $(this).parent().addClass("current-menu-item");
            }
        });
        $("li.current-menu-item").parents().each(function(){
            if ($(this).is("li")){
                $(this).addClass("current-menu-item");
            }
        });