【发布时间】:2013-07-16 09:36:40
【问题描述】:
我使用 10 项无序列表作为导航栏。使用 SSI,我将标题和导航栏放入每个文件中。我想要一种将class="active" 添加到当前活动页面的规则集中的方法(当前页面对应的<li> 将具有不同的样式)。
在每个页面中包含该文件意味着,在包含的文件中,没有任何项目可以具有活动类。
有没有办法只用几行代码就可以做到这一点? (使用 jQuery/JS)
我的另一个选择是将 URL 的最后一部分与每个列表项中锚点的 href 的一部分相匹配。
解决方案:(由 RomanGorbatko 提供)
var tab = window.location.pathname.split("/");
tab = tab[tab.length - 1]; // This probably is not efficient - suggestions?
if (tab != "") $("#nav a#" + tab).addClass("active");
【问题讨论】:
-
我通常在服务器端做这个。我将目标模板与导航中的 url 进行比较,并相应地应用该类。通过检查 window.location 然后为导航操作 html 可以使用 javascript 完成相同的操作。 (如添加类)
-
这是一个很棒的链接。谢谢
标签: javascript jquery navbar ssi server-side-includes