欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

根据location地址,在导航栏高亮显示当前页面

程序员文章站 2022-04-13 17:41:00

获取当前页面的地址栏。与导航栏中所有<a> 标签的href属性 进行比较。如果相等则高亮显示 此<a>标签。

注意点:a 标签的href 属性在浏览器解析时 是绝对路径。

    a 标签的href 如果是锚点,则 pathname , href都与 location的 pathname ,href相等,但hash 属性会存储 锚点,所以还需判断是否是锚点。

代码:

 1 <script src="../static/assets/vendors/jquery/jquery.js"></script> 
 2 <script>
 3   $(function(){
 4     $(".aside a").each(function(index,value){ //each()是jq对象中的方法,只能用来遍历jq对象 与foreach 中的形参相反。第一个形参是索引,第二个是dom对象
 5        if(value.pathname == location.pathname && value.hash == location.hash){
 6          $(value).parent().addclass("active"); //高亮的样式
 7          $(value).parent().parent().addclass("in"); //展开列表
 8          $(value).parent().parent().prev().removeclass("collapsed"); //改变箭头指向
 9        }else if(location.pathname == "/admin/" && index == 0){ //如果是首页(index) 
10          $(value).parent().addclass("active"); //高亮显示
11        }
12     })
13   });
14 
15 </script>