javascript - 加载页面后向 li 添加类

标签 javascript php jquery html

我有一个导航栏,其中包含通过 foreach 循环从数据库加载的链接,导航栏是静态的,因此只有内容在变化。我想在页面加载为事件时向链接添加“事件”类。

我曾尝试在单击 li 元素时简单地添加类,但在重新加载页面时该类消失了。

这是我的 HTML(它是由 PHP 的 foreach 循环呈现的,所以它看起来不像硬编码)

<div class="sidebar-menu">
  <ul class="sidebar-nav">
    <li class="icon_links">
      <a href="/home" class="links">
        <div class="icon">
          <i class="fa fa-tasks" aria-hidden="true"></i>
        </div>
        <div class="title">Dashboard</div>
      </a>
    </li>
    <li class="icon_links">
      <a href="/messaging" class="links">
        <div class="icon">
          <i class="fa fa-comments" aria-hidden="true"></i>
        </div>
        <div class="title">Messaging</div>
      </a>
    </li>
  </ul>
</div>

JavaScript

$(document).ready(function() {
  var selector = '.sidebar-nav li';
  $(selector).on('click', function() {
    $(selector).removeClass('active');
    $(this).addClass('active');
  });
});

最佳答案

你需要做这样的事情:

    var selector = '.sidebar-nav li';
    var url = window.location.href;
    var target = url.split('/');
     $(selector).each(function(){
        if($(this).find('a').attr('href')===('/'+target[target.length-1])){
          $(selector).removeClass('active');
          $(this).removeClass('active').addClass('active');
        }
     });

希望对您有所帮助

关于javascript - 加载页面后向 li 添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40506710/

相关文章:

javascript - Angular2.gitignore

php - 如何在php中上传和解析CSV文件

php - SQL : Putting condition on result of an aggregate function

javascript - jQuery .wrap() 无需重新聚焦

jquery - 调整窗口大小时多次调用函数 [JQuery]

javascript - 具有多个输入的自动完成搜索表单php mysql

javascript - JSON.parse 返回错误

javascript - 如何在select2的选中项中显示一个图标?

javascript - 防止 HTML 标签 strip 化

php - Symfony2 OneToMany 嵌入表单不保存实体