2015-11-09 2 views
1

Я пытаюсь установить активную ссылку, когда пользователь клик на ней, но я не могу понять, как удалить последний щелчок. Это моя скрипка:Как установить активную ссылку в jquery?

http://jsfiddle.net/9ff79/222/

$(function() { 
    $('nav ul li a').on('click', function() { 
     $(this).parent().find('nav ul li a .active').removeClass('active'); 
     $(this).addClass('active'); 
    }); 

});

+1

? http://jsfiddle.net/lharby/9ff79/223/ – lharby

ответ

1

Неверный запрос об ошибке DOM от щелкнутого элемента a. Используйте closest() затем find(), чтобы получить текущий .active элемент:

$('nav ul li a').on('click', function() { 
    $(this).closest('nav ul').find('a.active').removeClass('active'); 
    $(this).addClass('active'); 
}); 

Updated fiddle

1

Это, как я туда попал:

$(function() { 
     $('nav ul li a').on('click', function() { 
      $('nav ul li a').removeClass('active'); // remove active class from ALL href's 
      $(this).addClass('active'); // add active class for the element clicked 
     }); 
}); 

http://jsfiddle.net/lharby/9ff79/223/

0

Если у вас нет больше нав-элементы, a и .active. Это означает, что у вас есть дочерний элемент с активным классом.

Попробуйте это:

$('nav ul li a.active').removeClass('active'); 
Смежные вопросы