ボタンをクリックしたときに、クラス名を「in」に追加するか、または「in」が既に存在する場合は削除します。jQueryを条件付きで切り替えてクラス名を追加する方法は?
"in"クラスを追加しますが、一度設定すると、再度クリックすると削除されません。
クラス「折りたたみ」に「イン」を追加して、再度クリックするとどうやって削除できますか?
$(document.getElementById("toggle-expand-sections")).click(function() {
if ($('#toggle-expand-sections').hasClass("enabled")) {
$('#description-form .collapse').addClass("in");
} else {
$('#description-form .collapse').removeClass("in");
$('#toggle-expand-sections').addClass("enabled");
}
$('#toggle-expand-sections .toggle').toggle();
});
#toggle-expand-sections {
\t text-align: center;
\t margin: 0 auto;
\t padding: 2rem;
}
.collapse {
\t display: none;
} \t
.in {
\t display: block !important;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/js/font-awesome.min.js" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="toggle-expand-sections" class="btn btn-info">
<i class="fa fa-toggle-off toggle" title="expand all sections"></i>
<i class="fa fa-toggle-on toggle" style="display: none" title="collapse all sections"></i>
</button>
<div class="collapse">
<div class="subheader-description">foo</div>
</div>
<div class="collapse">
<div class="subheader-description">bar</div>
</div>
<div class="collapse">
<div class="subheader-description">baz</div>
</div>
'.toggleClassを()'調べなさい;。) –
あなたのコードは動作しません '$( '#トグル-拡大セクション')ので、addClassは( "有効")'「は 'hasClass(意味有効 ') 'は常に「真」になります –
** [ドキュメント](http://api.jquery.com)の**簡単な一見がこの質問に答えます。投稿する前に研究をしてください。 (実際には、それらのAPIドキュメントを使って1〜2時間の読書を終わらせておくのに十分な時間です.jQueryを学んだ最初のものの1つで、**多くの**時間を節約しました) –