C# 在asp.net导航中将cssClass添加到CurrentNode
这是我的密码:C# 在asp.net导航中将cssClass添加到CurrentNode,c#,asp.net,navigation,C#,Asp.net,Navigation,这是我的密码: <div class="Cat-list unselectable" style="font-weight:bold;"> <div class="right-bar-nav-item"> <asp:HyperLink runat="server" ID="lnkHome" NavigateUrl="~/Default.aspx">Home</asp:HyperLink> </div>
<div class="Cat-list unselectable" style="font-weight:bold;">
<div class="right-bar-nav-item">
<asp:HyperLink runat="server" ID="lnkHome" NavigateUrl="~/Default.aspx">Home</asp:HyperLink>
</div>
<asp:Repeater runat="server" ID="menu" DataSourceID="SiteMapDataSource1">
<ItemTemplate>
<div class="right-bar-nav-item">
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Url") %>' ToolTip='<%# Eval("description") %>'><%# Eval("Title") %></asp:HyperLink>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
<div style="clear:both;"></div>
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false" />
家
我想将类“.selected”指定给当前节点。示例:如果它是Default.aspx,那么它应该从
更改为此
下面是如何用javascript实现这一点。很酷,使用javascript是我的计划B。我将“.menu a”改为“.right bar nav item”,并将$(this.addClass('selected')改为$(this.nestest('div.right-bar-nav-item')。addClass('selected'),现在可以工作了
$(function(){
var url = window.location.pathname,
urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");
// now grab every link from the navigation
$('.menu a').each(function(){
// and test its normalized href against the url pathname regexp
if(urlRegExp.test(this.href.replace(/\/$/,''))){
$(this).addClass('selected');
}
});
});