2011-01-21 3 views
0

これらのjqueryコードを単純化するにはどうすればよいですか?何か案が?これらのjqueryを簡略化しますか?

$('#expand').click(function() { 
      $('.bbit-tree-elbow-plus').addClass('bbit-tree-elbow-minus'); 
      $('.bbit-tree-elbow-minus').removeClass('bbit-tree-elbow-plus'); 
      $('ul.bbit-tree-node-ct .bbit-tree-elbow-end-plus').addClass('bbit-tree-elbow-end-minus'); 
      $('ul.bbit-tree-node-ct .bbit-tree-elbow-end-minus').removeClass('bbit-tree-elbow-end-plus') 
      if ($("#preview_root").hasClass("bbit-tree-node-collapsed")) { 
       $('#preview_root').removeClass('bbit-tree-node-collapsed'); 
       $('#preview_root').addClass('bbit-tree-node-expanded'); 
       $('ul.bbit-tree-root .bbit-tree-elbow-end-plus').addClass('bbit-tree-elbow-end-minus'); 
       $('ul.bbit-tree-root .bbit-tree-elbow-end-minus').removeClass('bbit-tree-elbow-end-plus') 
       $('.bbit-tree-node-ct').show(); 
      } 
      $(".bbit-tree-node-ct ul").show(); 
     }); 
     $('#collapse').click(function() { 
      $('.bbit-tree-elbow-minus').addClass('bbit-tree-elbow-plus'); 
      $('.bbit-tree-elbow-plus').removeClass('bbit-tree-elbow-minus'); 
      $('ul.bbit-tree-node-ct .bbit-tree-elbow-end-minus').addClass('bbit-tree-elbow-end-plus'); 
      $('ul.bbit-tree-node-ct .bbit-tree-elbow-end-plus').removeClass('bbit-tree-elbow-end-minus') 
      $(".bbit-tree-node-ct ul").hide('slow'); 
     }); 
+1

それが何をしているべきである。そして、上から

var plus = $('.bbit-tree-elbow-plus'); 

、それが好きでしょうか? – R0MANARMY

+2

CSSを再構成して、親を変更し、残りの子を正しくスタイルできるようにする必要があります。私たちが助けることができるようにこれらのクラスのCSSを投稿できますか? – mVChr

+0

html構造は、私たちがあなたを助けるのに大いに役立ちます。 – Reigel

答えて

2

かわりaddClass removeClassの.toggleClassを使用して、関数の引数としてのあなたのクラス名を置くことができます。

Toggle Class

1

トールボーイは、上述のようにはい、toggleClassを使用します。また、$( '。class')呼び出しを変数に入れることを検討してください。たとえば:

plus.toggleClass('bbit-tree-elbow-minus'); 
関連する問題