2011-02-17 3 views
0

функция ниже показывает/скрывает divs на вкладках, чтобы вы могли вставлять вкладку между различными div. Кроме того, он использует bbq-плагин ben alman http://benalman.com/projects/jquery-bbq-plugin/, который позволяет вам использовать кнопку «Назад» в вашем браузере при табуляции между div.выбранный класс не работает функция jquery

все работает, но я не могу получить ссылку на вкладку с щелчком, чтобы показать как «выбранный». когда вы нажимаете на вкладку, он должен добавить «выбранный» класс к ссылке, чтобы он отображался как выбранный.

$(function() { 
var tabContainers = $('div.tabs > div'); 
    tabContainers.hide().filter(':first').show(); 

    $(window).bind('hashchange', function() { 
    var hash = window.location.hash || '#divContainer'; 

    tabContainers.hide(); 
    tabContainers.filter(hash).show(); 
    $('div.tabs ul.tabNavigation a').removeClass('selected'); 
    $('a[hash=' + hash + ']').addClass('selected'); 
    }); 

    $(window).trigger("hashchange"); 
}); 
+1

вместо '$ ('a [hash =' 'вы не имеете в виду' $ (' a [href = ''? – mVChr

ответ

1

Сначала сохраните якорь в вар при запуске функции
var currenct_anchor = $(this);

затем

$('div.tabs ul.tabNavigation a').removeClass('selected'); 
currenct_anchor.addClass('selected'); 
0

Есть ли какой-либо причине вы не используете

tabContainers.filter (хэш) .addClass ('выбрано');

Похоже, вы используете эту форму несколько раз для таких вещей, как .show() - работают ли эти команды?

В конечном счете, похоже, ваша проблема в том, что вы неправильно выбираете элемент, который хотите выбрать. Я бы предложил добавить в некоторый console.log (hash), чтобы лучше понять, что хранят переменные. Убедитесь, что вы обращаетесь к объектам, которые вы хотите.

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