为了账号安全,请及时绑定邮箱和手机立即绑定

尝试突出显示活动菜单项

尝试突出显示活动菜单项

Smart猫小萌 2023-09-25 16:52:53
这是我的 HTML,显示了侧边栏菜单:    <div class="sidebar">      <a class="active" href="<website>/humrec.php">HR Homepage</a>      <a href="<website>/hrbenefits.php">Benefits Information</a>      <a href="#contact">Scheduling</a>      <a href="#about">Links</a>    </div>这是我的 jQuery 代码,但仍然无法工作:    $(document).ready(function(){        $(".sidebar a").click(function ( e ) {            e.preventDefault();            $(".sidebar a.active").removeClass("active"); //Remove any "active" class              $("a", this).addClass("active"); //Add "active" class to selected tab              // $(activeTab).show(); //Fade in the active content          });    });
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

你的逻辑几乎是正确的,但问题是$("a", this)。该选择器正在寻找a中的元素this。问题是this是a刚刚被单击的,所以您正在寻找a中的a,它与您所拥有的 HTML 结构不匹配。


要解决该问题,您只需使用$(this)引用所a单击的:


jQuery(function($) {

  $(".sidebar a").click(function(e) {

    e.preventDefault();

    $(".sidebar a.active").removeClass("active");

    $(this).addClass("active");

  });

});

.active {

  color: #C00;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="sidebar">

  <a class="active" href="<website>/humrec.php">HR Homepage</a>

  <a href="<website>/hrbenefits.php">Benefits Information</a>

  <a href="#contact">Scheduling</a>

  <a href="#about">Links</a>

</div>


查看完整回答
反对 回复 2023-09-25
  • 1 回答
  • 0 关注
  • 66 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信