程序标识当前页面

像sf顶部这几个标签,点进一个之后当前的背景高亮,是如何实现的?

我想当点击的时候,用jquery cookie记住当前点击的,然后附加样式,但是jquery cookie的行为和我预想中的完全不一样,保存的cookie值很诡异。

阅读 3k
2 个回答

前端方法,可以使用js判断当前页面的url特征,进而设置元素的css属性。
后端方法,可以直接在页面生成的时候输出js,将某个元素的css属性改变。

极端方法,载入每一个页面不同的单独的css文件。

js 模式例如

$('#menu').find('a').each(function(){
  if (this.href == document.location.href || document.location.href.search(this.href) >= 0) {
    $(this).addClass('active'); // this.className = 'active';
  }
});

后端的话 例如rails中

<% current = { action_name => 'active' } %>
<%= link_to xxx, xxx, :class => current['home']  %>
<%= link_to yyy, yyy, :class => current['index']  %>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进