2011-08-02 22 views
1

私はjQueryを初めて使い慣れていて、わかりにくいコードの1部分に固執しているようです。jQueryのトグル機能は一度しか動作しません

リンクを使用すると、一度クリックすると表示されているdivとその子要素が切り替えられ、再度クリックするとdivとその子要素が非表示になります。

今、メインの親ディビジョンが正常に動作しているようです。 divは非表示になり、表示され、次に非表示になり、リンクなどを何回も表示します。しかし、内部の子要素は一度しか表示されず、隠された後はページが再読み込みされるまで再び表示されません。

以下は私のコードです。どんな助けでも大歓迎です。また

#blog-bg { 
    display:none; 
} 

#blog-content { 
    display:none; 
} 

、私はtheresの知っている:

$(toggle); 

    function toggle() { 

     $('#blog-nav').click(function() { 
      $('#blog-bg').toggle(); 
      $('#blog-content').toggle();  
     }); 

    } 

そして、ここでは私のhtmlコードです:隠された

 <div id="blog-bg"> 
      <div id="blog-content"> 
       This div doesnt seem to be working 
      </div> 
     </div> 

そして、ここだけに彼らの初期状態を設定し、私の関連するCSSです.children()機能を使用することはできますが、動作に問題があったため、回避策が見つかりました。ここで

はあなたには、いくつかのスマートAjaxingのものを使用している場合を除き、あなたは本当にそれがだ、そのようなネストされたdiv要素を使用する必要があります私は、これは任意の助けjordanpaulmilligan.com

+0

'#blog-content {display:none; }} '$( '#blog-content')を取り出します。 'だからあなたは親("#blog-bg ")だけをトグルします – Matt

答えて

-1

であれば、それは上で動作するために取得しようとしているページへのリンクですセマンティックではありませんが、視覚的な利点は、2番目のdivを使用せずに解決できることです。

それ以外の場合は、子要素ではなく親要素のみを切り替えます。

関連する問題