Вкладка Jquery - добавить класс, когда активен - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь отредактировать это:

http://jsfiddle.net/rohankumar1524/HznC9/3/

Как вы видите код, добавьте класс "current_tab" в "ul.tab_nav li a" clicked.

Мне нужно добавить этот класс в "ul.tab_nav li".

Я пробовал это:

$(document).ready(function(){
$('.tabs').each(function(){
    var tab = $(this);
    tab.find('.tab_content').hide(); // Hide all divs

    tab.find('ul.tab_nav li').click(function(){ //When any link is clicked
        if($(this).hasClass('current_tab')) return false;
        tab.find('ul.tab_nav li').removeClass('current_tab');
        $(this).addClass('current_tab'); //Set clicked link class to active

        var currentTab = tab.find($(this).attr('href')); // Set variable currentTab to value of href attribute of clicked link

        tab.find('.tab_content').hide(); // Hide all divs
        $(currentTab).slideDown(); // Show div with id equal to variable currentTab
        return false;
    });
});
});

Но при этом "tab_content" не будет отображаться.

Любая помощь?

1 Ответ

1 голос
/ 20 апреля 2019

В вашем обработчике событий клика это относится к элементу <li>, но ваш атрибут href находится на дочернем элементе <a>:

<li><a href=".tab2"class="iconTab iconTabWifi">&nbsp;</a></li>

Так что вместо этого:

var currentTab = tab.find($(this).attr('href'));

сделать это:

var currentTab = tab.find($(this).find("a.iconTab").attr('href')); 
...