私はボタン付きの単純なページを持っています。ボタンをクリックすると、toggle
を使用してこのボタンのすぐ下にテキストが表示されます。JQuery - untoggle - removeClassが定義されていません
この作品は正しいですが、別のセクション/ボタンを "アンググル"しません。だから私が望むのは、ボタンの下のセクションをトグルするだけでなく、トグルされた別のセクションのトグルを解除することです。
私はクリック直後に実行されるすべてのセクションにループを追加しました。すべてのセクションを非表示にしてから、何をしなければならないのですか?this
セクションを表示してください。
ncaught TypeError: acc.removeClass is not a function
$(document).ready(function(){
var accs = $('.accordion');
$('.accordion').on('click',function(){
$.each(accs,function(acc){
acc.removeClass('active'); # NOT WORKING
acc.nextElementSibling.classList.remove('show'); # NOT WORKING
});
this.classList.toggle('active'); # WORKING
this.nextElementSibling.classList.toggle("show"); # WORKING
})
});
問題がどこにあるか知っていますか?
'acc.removeClass' - >' $(acc).removeClass' –
@RoryMcCrossan 'acc'は、foreach関数内のオブジェクトのインデックスです。それは 'accs.eq(acc)... 'でなければなりません。 –
' $ .each() '関数でさえ、最初のパラメータはキーまたはインデックスの値です。彼は自分の機能に一つの議論しか持っていない。そのページの最初の例を参照してください.https://jsfiddle.net/s748hqfy/ –