jQuery菜单活动链接

b0n*_*0nd 3 javascript anchor jquery menu hyperlink

我正在尝试创建一个jquery菜单,当我单击其中一个链接(不重新加载页面)时,它将其类更改为"active"并在我单击另一个链接时删除此类.

这是我的代码:

<script type="text/javascript">
$(document).ready(function() {
  $(".buttons").children().("a").click(function() {
    $(".buttons").children().toggleClass("selected").siblings().removeClass("selected");
  });
});
</script>


  <ul class="buttons">
    <li><a class="button" href="#">Link1</a></li>
    <li><a class="button" href="#">Link2</a></li>
    <li><a class="button" href="#">Link3</a></li>
    <li><a class="button" href="#">Link4</a></li>
  </ul>
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我为什么我的代码不工作以及如何解决它?谢谢 :)

Ron*_*era 5

原始代码失败,因为此语法无效:

.children().("a")
Run Code Online (Sandbox Code Playgroud)

其余的代码也有一些根本性的缺陷.试试这个:

$(function () {
  $('.buttons a').click(function (event) {
    var $target = $(event.target);
    var $li = $target.parent();
    $li.addClass('selected').siblings().removeClass('selected');
  });
});
Run Code Online (Sandbox Code Playgroud)

在此更正中,该类selected应用于<li>-not - <a>以在编写CSS时为您提供更好的灵活性.