如何动态突出显示导航栏中的当前页面,如Stackoverflow

时间:2012-05-08 20:35:04

标签: jquery

我的header.php页面中有一个导航栏,我在网站的每个页面都包含该导航栏。如何在当前页面中添加一类current_page?

我试过

$('a[href="'+window.location+'"]').addClass('menu-highlight');

但如果设置了我的GET变量,它就不起作用,而且我的href是相对url的。

我有一个想法是在php页面上,包括保存与页面对应的数字的文件,并且Jquery用属性中的那个数字更改li。

最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

最佳做法是在服务器端代码中处理此问题。但是,如果您使用的是绝对路径链接,而不是完整的URL链接,则可以使用

window.location.pathname

排除查询字符串而不是

window.location.href

包含它

window.location.href
=> "http://stackoverflow.com/questions/10506079/how-to-dynamically-highlight-the-current-page-in-nav-bar-like-stackoverflow?test=foo"

window.location.pathname
=> "/questions/10506079/how-to-dynamically-highlight-the-current-page-in-nav-bar-like-stackoverflow"