jQuery单击行为

时间:2010-03-25 22:10:20

标签: javascript jquery

我正在开发一个菜单。当您点击链接时,此菜单将更改背景图像,几乎所有菜单都会这样做。如果我从菜单中单击一个链接,此链接背景将更改颜色。

我的jQuery脚本是:

$(function() { 
 $('#menu ul li').click(function() {
  $('#menu ul li').removeClass("current_page_item");
  $(this).addClass("current_page_item");
  //return false;
 });
});

今天,在“return false”评论中,当我点击“#menu ul li”下的链接时,它会更改背景,打开新页面并重置背景。当然,如果我取消注释return false,后台工作正常,但我无法打开任何链接。所以看起来在我打开一个新页面后,它会重置这些类。我怎样才能坚持下去?

2 个答案:

答案 0 :(得分:3)

动态添加的类不会在页面加载之间保持不变。考虑使用一些服务器端代码根据需要添加类current_page_item

答案 1 :(得分:1)

在页面加载之后而不是之前,你会想要这样做。您可以像Jud建议的那样在服务器端执行它,或者使用类似下面的jQuery脚本。这个小脚本是我最喜欢的方法。

var path = location.pathname.substring(1);
if(path){
    $('#menu a[href="' + path + '"]').attr('class', 'current');
    $('#subnav a[href="' + path + '"]').attr('class', 'current');
}