javascript - 单击时保持导航元素突出显示

标签 javascript html css

我一直在尝试使用以下代码让我的导航元素在单击后保持突出显示。我的页面不会重新加载,但会在一页上显示所有内容 - 表明这应该有效。我的选择器有问题吗?还是有其他问题?看起来它应该对我有用......

HTML:

<div class="admin-main-area">
   <div class="admin-left-nav">
      <ul id="admin-left-links">
         <li><a class="link" href="#">Orders</a></li>
         <li><a class="link" href="#">Reports</a></li>
         <li><a class="link" href="#">Add Product</a></li>
         <li><a class="link" href="#">Update Products</a></li>
         <li><a class="link" href="#">Update Stock</a></li>
         <li><a class="link" href="#">Update Pricing</a></li>
      </ul>
   </div>
   <div  class="admin-content-area">
      <p>this is some content</p>
   </div>
</div>

Javascript:

<script>
$('a.link').click(function(){
    $('a.link').removeClass("active");
    $(this).addClass("active");
});
</script>

CSS:

.active {
    background-color: #f43333;
}

最佳答案

在您设置点击事件处理程序时,链接尚未加载到 DOM 中。

试试这个(它将在加载 DOM 时设置处理程序):

$(window).ready(function() {
  $('a.link').click(function() {
    $('a.link').removeClass("active");
    $(this).addClass("active");
  });

})

当然,您还需要在 <script> 之前包含 jQuery片段

这是一个有效的 fiddle : https://jsfiddle.net/nsjfe5g1/

关于javascript - 单击时保持导航元素突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41649370/

相关文章:

javascript - 如何调试 Asp.Net JavaScript 错误

javascript - 根据按下的按钮显示 div

jquery - 滑动时整个网站在 iPhone 上向左移动 - 如何关闭它?

javascript - SVG如何获取鼠标在内部矩阵上的位置

javascript - 如何在下拉列表的选项中定义 span 标签

html - 当没有设置正文的宽度时,如何使用标题的百分比

javascript - 有效检查 DOM 节点的任何父节点中的 CSS 类

javascript - 询问如何在 javascript 中添加日期?

javascript - 尝试 console.log 我从 socket.io 收到的消息时收到 401~UNAUTHORIZED

用于丑陋的表驱动标记的 CSS 选择器