【问题标题】:Jquery Highlight Active Link works for Href links but not Menu ItemsJquery Highlight Active Link 适用于 Href 链接,但不适用于菜单项
【发布时间】:2013-08-29 10:20:27
【问题描述】:

我正在使用这样的 asp 菜单控件。我想突出显示当前活动的菜单

<asp:Menu ID="NavMenu" runat="server" CssClass="menu" EnableViewState="false"
     Orientation="Horizontal">          
        <Items>
            <asp:MenuItem NavigateUrl="Home.aspx" Text="Home" />
            <asp:MenuItem NavigateUrl="EventMGMT.aspx" Text="Event Management" />
       </Items>
    </asp:Menu>

此 Jquery 适用于 href 链接,但不适用于我的菜单控件。我该怎么做才能引用我的菜单 url 的

 $(document).ready(function () {
        var url = window.location.href;
        url = url.substr(url.lastIndexOf("/") + 1);
        $("#NavMenu").find("a[href='" + url + "']").addClass("selected");
    }); 

编辑:纯css可以做到这一点吗?

【问题讨论】:

  • 这是一个 100% 的客户端问题,所以请显示您的 HTML 输出,而不是您的 ASP 服务器端代码。
  • 这是我所有的代码,html输出只是你的标准导航栏,这不是一个真正的网站,只会在本地运行
  • 看来你不知道HTML和.NET源代码的区别。

标签: jquery asp.net menu highlighting


【解决方案1】:

在这里

 inside menu control
<staticselectedstyle backcolor="red" />

 inside css
   div.menu ul li a::selection
    {

     }

【讨论】:

    【解决方案2】:

    您需要在客户端获取菜单客户端 ID。尝试使用以下代码 sn-p:

     <script type="text/javascript">
            $(document).ready(function () {
                var url = window.location.href;
                url = url.substr(url.lastIndexOf("/") + 1);
                $("#" + "<%= NavMenu.ClientID %>").find("a[href='" + url + "']").addClass("selected");
            });
        </script>
    

    【讨论】:

    • 这不起作用,就像我对diodeus说的那样,这只会在我的计算机上本地运行
    猜你喜欢
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 2020-05-10
    相关资源
    最近更新 更多