「展開」から「非表示」に、またはその逆にクリックすると、折りたたみ可能なリンクの名前を変更する汎用JavaScriptを作成しようとしています。
私はjQueryでそのために以下のコードを書きました:
$(".collapse").collapse();
$(".collapse").on('show', function() {
$("a[data-target='#"+$(this).attr('id')+"']").text($("a[data-target='#"+$(this).attr('id')+"']").attr('data-on-hidden'))
});
$(".collapse").on('hidden', function() {
$("a[data-target='#"+$(this).attr('id')+"']").text($("a[data-target='#"+$(this).attr('id')+"']").attr('data-on-active'))
});
これは次のHTMLと相互作用します。
<div class="collapse in" id="collapse-fields">
Expandable content
</div>
<a href="#" data-toggle="collapse" data-target="#collapse-fields"
data-on-hidden="Hide" data-on-active="Expand">Expand</a>
私はjQueryを初めて使用しますが、コードが正しい方法で記述されているのか、それともそのような関数を記述するためのより良いアプローチがあるのか疑問に思っていました。