这是上一个问题的后续。我想要实现的是在单击将呈现新页面的锚标记后向 li 元素添加一个类。所以我知道当页面重新加载时,新的 HTML 被加载,我的 addclass 方法将被遗忘。
所以我一直在研究这个,似乎还有办法用 jquery 做到这一点?希望有人可以澄清或让我知道以下内容有什么问题
所以这就是我所拥有的......
导航栏
<ul id="main-menu" class="clearfix sf-js-enabled sf-arrows">
<li>
<a href="/"><i class="icon-home"></i> Home</a>
</li>
<li>
<a href="/pages/aboutme"><i class="icon-desktop"></i> About Me</a>
</li>
<li>
<a href="/pages/portfolio"><i class="icon-picture"></i> Portfolio</a>
</li>
<li>
<a href="/blog"><i class="icon-comments"></i> Blog</a>
</li>
<li>
<a href="/contact"><i class="icon-envelope"></i> Contact</a>
</li>
</ul>
jQuery
$('#main-menu li').each(function() {
var href = $(this).find('a').attr('href');
if (href === window.location.pathname) {
$(this).addClass('current-menu-item');
}
});
虽然这不起作用。谁能解释一下为什么?或者在代码中看到错误,我最初的想法是我需要找到最接近当前 li 的 a 吗?
任何帮助表示赞赏
谢谢