我对 javascript/jQuery 很陌生,我正在尝试构建一个在单击元素时显示/隐藏不同元素的菜单。单击 div A 时,它会隐藏 div A,在其位置显示 div B,并显示一个无序列表。单击 div B 时,它会隐藏 div B,显示 div A,并隐藏 ul。
我已经完成了大约 90% 的路程,但我需要一点帮助。我试图只影响最近的 div 和 uls,但似乎一切都受到了影响。从我阅读的信息来看,似乎我应该使用.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();
});
});