私はリストを持っています:
<ul class="products">
<li class="products p1">first</li>
<li class="description p1">first</li>
<li class="products p2">second</li>
<li class="description p2">second</li>
<li class="products p3">third</li>
<li class="description p3">third</li>
<li class="products p4">fourth</li>
<li class="description p4">fourth</li>
</ul>
そして、jqueryを使用して次のことを行います。1-
クリックされたもの以外のユーザーがクリックしたときに他のリストを非表示にします。
2-ユーザーがアクティブなliをもう一度クリックすると、すべてのliが表示されます。
以下のスクリプトを使用しました。
$(window).load(function(){
$(".products li").click(function(){
if ($(this).hasClass("active")) {
$(".products li").show("slow");
$(this).removeClass("active");
} else {
$(this).addClass("active");
$(".products li:not(.active)").hide("slow");
}
});
});
正常に動作します。
ここで、アクティブなliに関連する説明liを表示します。
たとえば、アクティブなliがclass:p2のliである場合、以下の説明liを表示する必要があり、その他のliは非表示になります。
<li class="description p2">second</li>
説明liは最初は非表示になっています。
クラス名に応じて正しいliを選択する方法がわかりません。マスクを使用してクラス名でliを選択するjQueryのトリックがあるはずです!