私はjavascript/jQueryにかなり慣れていません。要素がクリックされたときにさまざまな要素を表示/非表示にする並べ替えのメニューを作成しようとしています。div A をクリックすると、div A が非表示になり、その場所に div B が表示され、順序付けられていないリストが表示されます。div B をクリックすると、div B が非表示になり、div A が表示され、ul が非表示になります。
90% ほど進んでいますが、少し助けが必要です。最も近い div と ul のみに影響を与えようとしていますが、すべてが影響を受けているようです。私が読んだ情報から、それは私が使用するべきであり、私がそうであるように見えます.siblings
が.closest
、明らかに私は何か間違ったことをしています.
JS フィドル リンク: http://jsfiddle.net/w5VXr/6/
HTML:
<div class="essFeatureHeader">Appointment Scheduling</div>
<div class="essFeatureHeader hidefeature">Appointment Scheduling</div>
<ul class="featureList">
<li class="alternate">Unlimited Online Scheduling</li>
</ul>
jQuery:
$(document).ready(function($) {
jQuery(".featureList").hide();
jQuery(".hidefeature").hide();
jQuery(".essFeatureHeader").click(function() {
$(this).closest('.essFeatureHeader').siblings(".featureList").show("slow");
$(this).closest('.essFeatureHeader').hide();
$(this).closest('.essFeatureHeader').siblings('.hidefeature').show();
});
jQuery(".hidefeature").click(function() {
$(this).closest('.hidefeature').siblings('.essFeatureHeader').show();
$(this).closest('.hidefeature').siblings('.featureList').hide();
$(this).closest('.hidefeature').siblings('.hidefeature').show();
});
});