jquery - 如何将事件类添加到基于 URL 的导航菜单

标签 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");
      })
 });

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

最佳答案

您的代码适用于完全/admin.php/?do=add_news/#< 结尾的页面

例如对于 URL http://example.com/?do=add_news 它将起作用,但是对于 http://example.com/foobar.html?do=add_news它不会工作(因为 ?do=add_news 前面的 foobar)。

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

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

关于jquery - 如何将事件类添加到基于 URL 的导航菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31623449/

相关文章:

javascript - jQuery的滑动功能与CSS动画冲突

html - zend 框架如何避免 html <id> 重复?

javascript - 模拟 SO 标签编辑器

javascript - 如何使用 jquery 验证添加以像素为单位的验证尺寸?

jquery tablesorter 和 tablesorter Filter 插件...它可以以某种方式对无序列表进行排序和过滤吗?

javascript - 获取javascript中函数的返回值

jquery - 如何使旋转木马 slider 适合类(class)部分的高度?

jquery - 检查单击的 href 是否有哈希值,并且不执行任何其他操作转到链接

javascript - Jquery slideToggle,仍然没有简单的非跳动解决方案?

jquery - 如何删除 anchor 标记后的文本 |查询