我找到了jQuery add class to current li and remove prev li when click inside li a,但它对我不起作用。
header.jsp
<ul>
<li class="current"><a href="#">menu item</a></li>
<li><a href="aba.jsp">menu item</a></li>
<li><a href="abb.jsp">menu item</a></li>
<li><a href="abc.jsp">menu item</a></li>
<li><a href="abd.jsp">menu item</a></li>
</ul>
$('ul li a').click(function(){
$('ul li.current').removeClass('current');
$(this).closest('li').addClass('current');
});
其他jsp页面包含此header.jsp。在我添加了jQuery之后,就像链接所说的那样,临时添加了类,然后它就像刷新一样,页面回到初始状态,这是第一个li
具有类current
的状态。有什么想法吗?
更新:href="#aba"
至href="aba.jsp"
答案 0 :(得分:0)
代码实际上有效:http://jsfiddle.net/GGCNd/。但它不适合你的情况。
您访问,发布或重新加载页面的任何链接。任何做http请求的东西,都会通过JavaScript删除你的更改。
每次使用此菜单加载页面时都必须加载JS函数,或者在需要重新加载的页面中执行Post。
该功能必须比较当前页面和菜单中的链接列表,并在匹配项中添加class="current"
。