2011-02-17 2 views
0

以下の関数はdivをタブに表示/非表示にするので、異なるdiv間をタブすることができます。さらに、ben almanのbbqプラグイン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

でVARにアンカーを保存します(

tabContainers.filterを使用していない理由がありますハッシュ).addClass( 'selected');

.show()のような形でこのフォームを何度も使用しているようです。これらのコマンドは機能しますか?

最終的には、選択したい要素を正しく選択していないことが問題のようです。私はいくつかのconsole.log(ハッシュ)を追加して、変数が格納している内容をよりよく理解することをお勧めします。必要なオブジェクトにアクセスしていることを確認してください。

関連する問題