我正在尝试添加"有效"由jQuery类,因为该代码来自aspx主文件。我知道PHP,但没有尽快。
当有人进入像Technical-Info.aspx,End-Device-Info.aspx页面这样的子菜单页面时,需要在父li(<li class="active"><a href="OverView.aspx" title="Overview">OverView</a>
而不是<li><a href="OverView.aspx" title="Overview">OverView</a>
)上添加addClass。
代码 -
<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>
答案 0 :(得分:1)
您可以使用以下内容:
$("li[title=FAQ]").addClass("active");
答案 1 :(得分:0)
另一种方法是在服务器端进行这些更改。为此,您必须将每个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>
。
然后在服务器端,使用遵循伪算法:
以下是一些有用的ASP.NET方法:
HtmlControl control = (HtmlControl) this.FindControl("controllerId");
,其中controllerId是您的服务器端ID。您可以使用HtmlControl泛型类型来转换所有HTML控件。您将需要HtmlControl的软件包System.Web.UI.HtmlControls。control.Attributes.Add("class", "active");
。要删除,请使用以下内容:control.Attributes.Remove("class");
;