【发布时间】:2016-05-03 16:38:09
【问题描述】:
当用户在基于 URL 的子页面中时,我需要突出显示父导航项。
用户当前在页面 foo1-child 上,并且父级是 foo1,所以我需要将活动类添加到 Foo1: http://foo.com/foo1/foo1-child.html
资产净值:
<ul class="main-nav">
<li><a href="/foo.com/foo1.html">Foo 1</a></li>
<li><a href="/foo.com/foo5.html">Foo 5</a></li>
</ul>
我没有问题向导航中的链接添加活动类,因为我只是比较了.nav li a 中的每个 href 与 URL,但是我如何检查 URL 中是否有匹配的锚链接名称或类似的东西?
当前 JS
$('.main-nav li > a').each(function () {
var $this = $(this);
if ($this.attr('href').indexOf(location.pathname) !== -1) {
$this.addClass('active');
}
});
【问题讨论】:
-
你所做的似乎是正确的。您的脚本遇到什么问题?
-
您能否提供有关您的应用的更多信息。您有后端还是完全是前端应用程序?无论哪种方式,我想路由器都可以帮助您,或者在链接上添加一些条件语句来添加类。但需要更多信息。
-
我无法访问后端代码,并且该应用程序没有使用任何 javascript mvc 框架,它只有 jQuery。
-
@DanMitchell - 你的 JS 为我工作!我一直在寻找一个可以处理我的子页面的。不知道为什么它不适合你,但我想我会让你知道它至少对我有用(在自定义 WordPress 网站上)。谢谢!
标签: javascript jquery html css