4

次のマークアップがあります

<div id="div1">
   <ul>
      <li><a href="#" id="id1">link1</a></li>
      <li><a href="#" id="id2">link2</a></li>
      <li><a href="#" id="id3">link3</a></li>
   </ul>
</div>

jQuery を使用して、クリックしたリンクにクラスを追加し、以前にクリックしたリンクからクラスを削除します。

<li class="selected"><a href="#" id="id1">link1</a></li>
<li><a href="#" id="id2">link2</a></li>
<li><a href="#" id="id3">link3</a></li>
4

2 に答える 2

13

これを試して:

$('#div1 li').click(function(e) {
    $(this).addClass('selected').siblings().removeClass('selected');
});

clickまたは、イベントをに添付する場合a:

$('#div1 a').click(function(e) {
    e.preventDefault();
    $('#div1 a').removeClass('selected');
    $(this).addClass('selected');
});

フィドルの例

于 2013-01-14T09:01:28.653 に答える
3

次のようなことができます:

$('li a').click(function() {
    $('li a').removeClass('selected');
    $(this).addClass('selected');
});

つまり、最初にすべてのクラスを削除してから、クリックしたクラスにクラスを追加します。

于 2013-01-14T09:02:07.983 に答える