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