添加类“;活动的”;到jquery的下拉菜单

Add class "active" to dropdown menu by jquery

本文关键字:jquery 下拉菜单 活动 添加      更新时间:2023-09-26

我正试图通过jQuery添加"活动"类,因为该代码来自aspx主文件。我知道PHP,但不知道ASAP。

当任何人转到像Technical-Info.aspx这样的子菜单页面时,End-Device-Info.aspx页面需要在父级li上添加addClass(<li class="active"><a href="OverView.aspx" title="Overview">OverView</a>而不是<li><a href="OverView.aspx" title="Overview">OverView</a>(。

代码-

<ol id="menu">
         <li><a href="Default.aspx" title="Home Page" style="color:#FFF">Home</a>        
        <li><a href="OverView.aspx" title="Overview">OverView</a>  
          <!-- sub menu -->
          <ol>     
            <li><a href="Technical-Info.aspx" title="Technical Info">Technical Info</a></li>
            <li><a href="End-Device-Info.aspx" title="End Device Info">End Device Info</a></li>
          </ol>
        </li><!-- end sub menu -->
        <li><a href="Register.aspx">Register To Service</a></li>
        <li><a href="Rates.aspx">Rates</a></li>
        <li><a href="#">Support</a>
          <!-- sub menu -->
          <ol>     
            <li><a href="FAQ.aspx" title="FAQ">FAQ</a></li>
            <li><a href="TOS.aspx" title="TOS">Terms Of Service</a></li>
            <li><a href="Contact_Us.aspx" title="Order the service">Contact Us</a></li>
          </ol>
        </li><!-- end sub menu -->
         <li><a href="skype:name?call" title="Call us on Skype"><img src="img/callme_small4.png" width="85px" height="85px"; /></a></li>
</ol>

您可以使用以下内容:

$("li[title=FAQ]").addClass("active");

一种替代方案是在服务器端进行这些更改。为此,您必须将每个HTML元素转换为服务器端控件。要做到这一点,只需在它们中的每一个中放置一个标签runat="server",并放置一个ID来识别它们。例如:

<li><a href="OverView.aspx" title="Overview">OverView</a></li>

变为:

<li id="overviewMenu" runat="server"><a href="OverView.aspx" title="Overview">OverView</a></li>

然后在服务器端,使用以下伪算法:

  1. 检索所有菜单并将其标记为非"活动"菜单
  2. 选择要标记的菜单并将其设置为"活动">

以下是ASP.NET的一些有用方法:

  1. 为了按id获取HTML控制器服务器端,请使用以下方法:HtmlControl control = (HtmlControl) this.FindControl("controllerId");,其中controllerId是服务器端id。您可以使用HtmlControl泛型类型强制转换所有HTML控件。HtmlControl需要包System.Web.UI.HtmlControls
  2. 要添加活动类,请使用以下命令:control.Attributes.Add("class", "active");。要删除,请使用以下命令:control.Attributes.Remove("class");