我很新的JavaScript/jQuery,我试图建立一个菜单,显示/隐藏不同的元素,当一个元素被点击。当单击div A时,它隐藏div A,在它的位置显示div B,并显示无序列表。当单击div B时,它隐藏div B,显示div A,并隐藏ul。仅显示/隐藏最近的元素
我有约90%的路,但我需要一点帮助。我试图只影响最接近的divs和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();
});
});
太好了,谢谢你向我展示了完全不同(更正确)的方法。 +1 – 2013-03-13 17:19:37