jQuery点击事件添加class

jQuery a click event add class

<a> 元素的 .click 事件上我添加了一个 class my-selected-item.

但是 class 只影响 .click 事件。我读到我可以使用函数 event.preventDefault 来处理这个问题。但这导致 <a> 元素不会触发 href="" link.

$(document).ready(function () {
    $("a.seaw-menu-item").click(function () {
        $(this).addClass('my-selected-item');
    });
});

看来我少了点什么。感谢您的帮助!

编辑://

用于菜单目的。

<div class="myMenu">
  <a href="myPage.php?subpage=mySubPage1" class="seaw-menu-item">MenuItem 1</a>
  <a href="myPage.php?subpage=mySubPage2" class="seaw-menu-item">MenuItem 2</a>
  <a href="myPage.php?subpage=mySubPage3" class="seaw-menu-item">MenuItem 3</a>
</div>

我只能猜测,但我相信你想要这样的东西:

添加一个id="someContainer"的div,href中的页面内容(假设同源)将被加载到其中,class设置

使用您的HTML:

    $(document).ready(function() {
      $("a.seaw-menu-item").on("click", function(e) {
        e.preventDefault();
        $("a.seaw-menu-item").removeClass('my-selected-item'); // remove from all links
        console.log("This would load:"+this.href+" into someContainer");
        $("#someContainer").load(this.href); // load the page
        $(this).addClass('my-selected-item'); // set the class on this link
      });
    });
a { text-decoration:none }
a.my-selected-item { text-decoration: underline }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="myMenu">
  <a href="myPage.php?subpage=mySubPage1" class="seaw-menu-item">MenuItem 1</a>
  <a href="myPage.php?subpage=mySubPage2" class="seaw-menu-item">MenuItem 2</a>
  <a href="myPage.php?subpage=mySubPage3" class="seaw-menu-item">MenuItem 3</a>
</div>
<div id="someContainer"></div>

你的问题不是很清楚,但这是你想要的吗?

$(document).ready(function () {
    $("a").on("click", '*:not(a)', function() {
        $(this).addClass('my-selected-item');
        e.preventDefault();
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="https://whosebug.com"> the link works </a>