如何基于URL将活动类添加到导航菜单

时间:2015-07-25 05:54:19

标签: jquery css

我有这方面的问题,它在活动时无法保持风格。如何基于URL

将活动类添加到导航菜单
<div class="admin_nav">
    <ul>
        <li><a href="admin.php">main</a></li>
        <li><a href="?do=add_menu">manu</a></li>
        <li><a href="?do=add_news">news</a></li>
        <li><a href="#">123</a></li>
        <li><a href="#">123</a></li>
        <li><a href="#">123</a></li>
        <li><a href="#">123</a></li>
    </ul>
</div>


$(function() {
      var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/")+1);
      $(".admin_nav ul li a").each(function(){
           if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
           $(this).addClass("newclass");
      })
 });

关于这个的任何解决方案????

1 个答案:

答案 0 :(得分:0)

您的代码适用于完全/admin.php/?do=add_news/#

结尾的网页

E.g。对于网址http://example.com/?do=add_news,它会起作用,但对于http://example.com/foobar.html?do=add_news,它不会起作用(因为foobar前面的?do=add_news。)

如果您只担心URL 的最后部分是否包含 href字段中的文本,您可以将if语句更改为:

if($(this).attr("href") == '' || pgurl.indexOf($(this).attr("href")) > -1)
    $(this).addClass("newclass");