0

我发现这个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"

4

1 回答 1

0

该代码可以正常工作:http: //jsfiddle.net/GGCNd/。但它不适合你的情况。

您访问的任何链接,发布您的操作或重新加载页面。任何进行 http 请求的东西,您都可以通过 JavaScript 擦除您的更改。

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

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

于 2013-09-27T18:31:29.260 回答