1

このスクリプトは現在、サイドアコーディオンメニューで使用されています。imgを押すと、アコーディオンのカテゴリのクラスが削除および追加され、そのカテゴリのリンクが消えます。

押されたものだけではなく、アコーディオンのすべてのdivに適用する方法はありますか?ありがとう。

(function(){
  jQuery('a.navToggle').bind('click',function(){
  var id = jQuery(this).attr('id'); 
  if(jQuery(this).find('img').attr('src').indexOf('minus') != -1){
  jQuery('div[id*=subnav-'+id+']').removeClass('expanded').addClass('collapsed');
  jQuery(this).find('img').attr('src','lnav-plus.png');

 } else {
   //jQuery('div[id*=subnav-]').removeClass('expanded').addClass('collapsed');
   jQuery('div[id*=subnav-'+id+']').removeClass('collapsed').addClass('expanded');
   jQuery(this).find('img').attr('src','lnav-minus.png');
 }
4

1 に答える 1

1

jQuery(this).find('img')またはをクリックしたアイテムを検索する代わりにjQuery(this).attr('id')、アコーディオン内の特定のタイプのすべてのオブジェクトを検索するjQueryセレクターを使用します。

例:jQuery('#accordion img')アコーディオン内の各画像タグを選択します。

ちなみに、このようなアイテムを見つけるには、クラスセレクターを使用することをお勧めします。

残りのコードを投稿すると、より多くの洞察を提供できる可能性があります。

于 2012-11-16T00:42:46.083 に答える