这里是我的问题,我有一个不使用runat =“server”的菜单项目列表,所以我的默认页面有一个类似localhost/Default.aspx的URL,如果我在visual studio中运行它,我的javascript会找到我当前的页面,即“Default.aspx”,并突出显示当前的菜单项,此时一切正常。Javascript首次访问网站时突出显示菜单
现在,如果我使用ftp发布我的网站,我第一次访问该网站时,该网站将具有localhost,最终没有Default.aspx,现在我的javascript将找不到“Default.aspx”在我的页面,将返回“”,所以我的菜单项没有突出显示。如果我在我的菜单中点击主页,则URL变为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.主菜单
<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>
感谢小牛,但它仍然没有突出,父网址“〜/”什么也没有 – Mindless
你可以发布html的您的菜单 – Maverick
我在我的问题中添加了它 – Mindless