根据location地址,在导航栏高亮显示当前页面
程序员文章站
2022-07-06 11:46:30
获取当前页面的地址栏。与导航栏中所有 标签的href属性 进行比较。如果相等则高亮显示 此标签。 注意点:a 标签的href 属性在浏览器解析时 是绝对路径。 a 标签的href 如果是锚点,则 pathname , href都与 location的 pathname ,href相等,但 ......
获取当前页面的地址栏。与导航栏中所有<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>