jQuery将类添加到当前li并删除prev li

时间:2013-09-27 17:41:27

标签: jquery

我找到了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"

1 个答案:

答案 0 :(得分:0)

代码实际上有效:http://jsfiddle.net/GGCNd/。但它不适合你的情况。

您访问,发布或重新加载页面的任何链接。任何做http请求的东西,都会通过JavaScript删除你的更改。

每次使用此菜单加载页面时都必须加载JS函数,或者在需要重新加载的页面中执行Post。

该功能必须比较当前页面和菜单中的链接列表,并在匹配项中添加class="current"