1

我有这样的路径:

http://www.domain.com/admin/item.php?id=4&action=edit

并希望获得该路径,与我的菜单的每个元素进行比较,并将“活动”类添加到当前菜单项,如下所示:

<ul class="nav nav-list">
<li><a href="http://www.domain.com/admin/item.php?id=1&action=edit">Item 1</a></li>
<li><a href="http://www.domain.com/admin/item.php?id=2&action=edit">Item 2</a></li>
<li><a href="http://www.domain.com/admin/item.php?id=3&action=edit">Item 3</a></li>
<li class="active"><a href="http://www.domain.com/admin/item.php?id=4&action=edit">Item 4</a></li>
<li><a href="http://www.domain.com/admin/item.php?id=5&action=edit">Item 5</a></li>
...
</ul>

我怎样才能用 Jquery 做到这一点?我尝试过的大多数功能,它们都不能获得完整的路径名(所有变量)

4

1 回答 1

1

使用属性选择器选择将 href 属性设置为给定路径的锚元素。然后使用addClass添加active为所选锚元素的类。如果您想要您所在页面的完整当前路径,请使用location.href,但请注意,这也将包括当前哈希(如果有的话)。另外,我建议按 ID 选择菜单,因此在导航菜单中添加一个 ID。

function setCurrentMenuPathAsActive(path){
   $(".nav li a[href='" + path + "']").addClass("active");
}

setCurrentMenuPathAsActive(location.href);
于 2013-01-02T17:46:25.857 回答