2014-09-16 4 views
1

У меня есть настройка списка навигации, чтобы показывать/скрывать вкладки, которые работают правильно. Теперь я пытаюсь добавить/удалить активный класс элемента nav ul li только при нажатии на текст href. В настоящее время, когда вы нажимаете элемент списка (пробел вокруг текста, а не только текст), отображается активный класс. Таким образом, активный класс отображается без нажатия ссылки и изменения вкладок.Добавить/удалить класс nav ul li с помощью jQuery, щелкнув href внутри li

Я пробовал много вариантов, чтобы достичь этого, без результата.

<script> 
    $(function(){ 
    $('#tabs li').click(function() { 
    //Removes the active class from any <li> elements 
    $('li.active').removeClass('active'); 
    //Adds it to the current element 
    $(this).addClass('active'); 
    }); 
    }); 
</script> 

HTML

<div class="warranty-nav"> 
    <ul id="tabs" class="nav"> 
    <li class="active"><a href="#overview">Overview</a></li> 
    <li class=""><a href="#benefits">Plan Benefits</a></li> 
    <li class=""><a href="#works">How It Works</a></li> 
    <li class=""><a href="#terms">Terms and Conditions</a></li> 
    <li class=""><a href="#faqs">Frequently Asked Questions</a></li> 
    </ul> 
</div> 

Спасибо заранее.

ответ

0

попробовать это:

$('#tabs a').click(function() { 
    //Removes the active class from any <li> elements 
    $('#tabs li.active').removeClass('active'); 
    //Adds it to the current element 
    $(this).parent('li').addClass('active'); 
    }); 
0
$(function(){ 
    $('#tabs li').click(function() { 
    //Removes the active class from any <li> elements 
    $(this).siblings().removeClass('active'); 
    //Adds it to the current element 
    $(this).addClass('active'); 
}); 
    }); 
  • Удалить класс братьев
0

Вы код работает, нужно просто закрыть вы действуете.

<script> 
    $(function(){ 
    $('#tabs li').click(function() { 
    //Removes the active class from any <li> elements 
    $('li.active').removeClass('active'); 
    //Adds it to the current element 
    $(this).addClass('active'); 
    })}); 
</script> 
+1

Если у других лиц на странице есть активный класс, он будет удален, если используется вышеуказанный код. проверьте отрицательный поток. –

+0

@ rpeki8, если это все, вы можете просто добавить комментарий к вопросу op. – PhilD

Смежные вопросы