2

addClass選択したアンカー タグのスタイルを変更するには、 jQuery を使用する必要があります。正常に動作しています。しかし、スタイルを変更した後、で指定されたリンクに移動したいと思いますhrefreturn false;またはを使用しているため、これは機能しませんe.preventDefault()

私を助けてください。

私が使用しているコードは次のとおりです。

$("li").click(function (e) {
    e.preventDefault();
    $("li").removeClass("active");
    $(this).addClass("active");
});

<div id="navigation" class="right">
    <ul>
        <li id="nav1"><a href="../WebForm1.aspx"><span>Home</span></a></li>
        <li id="nav2"><a href="../AboutUs.aspx"><span>About Us</span></a></li>
    </ul>
</div>

ここでは、ホームリンクをクリックした後にスタイルが適用されますが、この後に移動したいと思いwebform1.aspxます。

4

3 に答える 3

1

liタグにアクティブなクラスが含まれているかどうかを確認する必要があります。含まれている場合は、指定されたリンクに移動します。

$("li").click(function (e) {
  if($(this).hasClass('active')){
      return true;
  }else{
    e.preventDefault();
    $("li").removeClass("active");
    $(this).addClass("active");
  }
});

デモ

于 2012-11-27T05:25:32.947 に答える
0

デモ: http://jsfiddle.net/hBubq/1/

編集<a href=""各オブジェクトで絶対URLを使用する必要がある場合があります

$("li").click(function (e) {
    e.preventDefault();
    $("li").removeClass("active");
    $(this).addClass("active");
    window.location.href =  $(this).find('a').attr('href');
});

<div id="navigation" class="right">
   <ul>
      <li id="nav1"><a href="../WebForm1.aspx"><span>Home</span></a></li>
      <li id="nav2"><a href="../AboutUs.aspx"><span>About Us</span></a></li>
   </ul>
</div>
于 2012-11-27T05:18:07.350 に答える
0
$("li a").click(function (e) {
    e.preventDefault();
    $(this).parent().parent().children("li").children("a").removeClass("active");
    $(this).addClass("active");
    document.location = $("a", this).attr("href");
});
于 2012-11-27T05:25:05.040 に答える