#jquery #jquery-ui-tabs
#jquery #jquery-ui-tabs
Вопрос:
Я пытаюсь отредактировать это:
http://jsfiddle.net/rohankumar1524/HznC9/3/
Как вы можете видеть, код добавляет класс «current_tab» в «ul.tab_nav li a».
Мне нужно добавить этот класс в «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:
В вашем обработчике события click это относится к <li>
элементу, но ваш атрибут href находится в дочернем <a>
элементе:
<li><a href=".tab2"class="iconTab iconTabWifi">amp;nbsp;</a></li>
Поэтому вместо того, чтобы делать это:
var currentTab = tab.find($(this).attr('href'));
сделайте это:
var currentTab = tab.find($(this).find("a.iconTab").attr('href'));