这是我的问题,我有一个不使用runat =“server”的菜单项列表,所以我的默认页面有一个像localhost / Default.aspx的网址,如果我在visual studio中运行它,我的javascript会找到我的当前页面,即“Default.aspx”并突出显示当前菜单项,此时一切正常。
现在,如果我使用ftp发布我的网站,我第一次访问该网站时,该网站将拥有网址localhost,最后没有Default.aspx,现在我的javascript将找不到“Default.aspx”我的页面将改为返回“”,因此我的菜单项不会突出显示。如果我单击菜单中的主页,则网址将变为localhost / Default.aspx,菜单将突出显示。
那么有没有办法改变我的javascript,所以第一次点击该网站时,即使我的网址最后没有包含“Default.aspx”,它仍会突出显示我的菜单?
这是我的javascript“
$(function () {
var url = window.location.href.substr(window.location.href.lastIndexOf("/") + 1);
$('[href$="' + url + '"]').parent("li").addClass("current_page_item");
});
如你所见,如果我使用
<a runat="server" href="~/">Home</a>
为我的主页,
lastIndexOf("/")
在我的javascript中总是会让我空白,所以没有突出显示,我知道问题所在,但无法找到解决问题的方法
由于
HTML:
1.main menu
<div id="menu" class="container">
<ul>
<li class="current_page_item"><a runat="server" href="~/" accesskey="1" title="">Home</a></li>
<li><a href="Softcare/SoftcareHome.aspx" accesskey="2" title="">Softcare</a></li>
<li><a href="Softlearn/SoftlearnHome.aspx" accesskey="2" title="">Softlearn</a></li>
<li><a href="Software/SoftwareHome.aspx" accesskey="2" title="">Software</a></li>
</ul>
</div>
2.sidemenu
<div id="sidemenu">
<div class="section-title">
<asp:ContentPlaceHolder ID="submenutitle" runat="server">
</asp:ContentPlaceHolder>
</div>
<ul>
<li><a runat="server" href="~/" accesskey="1" title="">Home</a></li>
</ul>
</div>
答案 0 :(得分:0)
$('[href$="' + ((url == "")?"~/":url) + '"]').parent("li").addClass("current_page_item");