0

折りたたまれた要素のクラスを変更する際に問題がありますが、私のコードではすべての要素のクラスが変更されています。

$('.panel-heading').click(function(){
    $(this).next('.panel-body').slideToggle('fast');
    $('.panel-handle').toggleClass('glyphicon glyphicon-minus icon-window');
});

それぞれの要素に対してのみクラスを変更するにはどうすればよいですか?

4

3 に答える 3

3

セレクターはページ内の$('.panel-handle')すべての要素を対象としています。代わりに、クリックされた要素.panel-handleに関連するものを見つける必要があります.panel-handle.panel-heading

.panel-handle要素が要素の子要素であると仮定すると.panel-heading

$('.panel-heading').click(function(){
    $(this).next('.panel-body').slideToggle('fast');
    $(this).find('.panel-handle').toggleClass('glyphicon glyphicon-minus icon-window');
});
于 2013-09-19T06:48:27.497 に答える
1

これを試して :

 $(this).find('.panel-handle').toggleClass('glyphicon glyphicon-minus icon-window');
于 2013-09-19T06:51:58.327 に答える
0

find 関数を使用して、「パネル見出し」クラス内の dom 要素を取得します

 $(this).find('.panel-handle').toggleClass('glyphicon glyphicon-minus icon-window');
于 2013-09-19T06:58:50.823 に答える