Jquery获得当前的完整路径

时间:2013-01-02 17:43:17

标签: jquery twitter-bootstrap

我有这样的道路:

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

想要获得该路径,与菜单中的每个元素进行比较,并将“active”类添加到当前菜单项,如下所示:

<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做到这一点?我尝试过的功能最多,它们都不能获得完整的路径名(包含所有变量)

1 个答案:

答案 0 :(得分:1)

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

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

setCurrentMenuPathAsActive(location.href);