這裏是我的問題,我有一個不使用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