Vyhledávání na webu

javascript - Správa aktivního stavu


<ul>
    <li><a href="#">item 1</a></li>
    <li><a href="#">item 2</a></li>
    <li><a href="#">item 3</a></li>
</ul>

Po kliknutí bych chtěl přidat třídu active k nadřazenému prvku li a zároveň odebrat třídu active z jakéhokoli jiného prvku, který už může být aktivní.

Odpověď č. 1

$("li a").click( function() {
  $(".active").removeClass("active");
  $(this).parent("li").addClass("active");
});

Odpověď č. 2

$('div.filter').delegate('a', 'click', function (event) {
  var theLi = $(this).closest('li');

  theLi.siblings('.active:first').removeClass('active');
  theLi.addClass('active');

  $('ul.items li').hide().filter('.' + this.href.slice(this.href.indexOf("#") + 1)).show();

  event.preventDefault();
});