我是jQuery的新手,我正试图切换兄弟姐妹。基本上我有一个div列表,每当我点击显示下一个div时,前一个div应该关闭。目前,当下一个div打开时,前一个div不会关闭,无法弄清楚原因。我必须手动打开和关闭每个div。
抱歉新手问题! :)
任何帮助都将受到高度赞赏!
function showHide(button){
$(button).next('.showhide').toggle().siblings('.showhide').hide();
}
html:
<div class="acc-s-container">
<div class="acc-s-header" id="div" onclick="showHide(this)">
<h1>Account Settings</h1>
</div>
<div id="divcontent" class="acc-s-content showhide">
<p>content</p>
</div>
</div>
<div class="acc-s-container">
<div class="acc-s-header" id="div2" onclick="showHide(this)">
<h1>Account Settings</h1>
</div>
<div id="divcontent2" class="acc-s-content showhide">
<p>content</p>
</div>
</div>
<div class="acc-s-container">
<div class="acc-s-header" id="div3" onclick="showHide(this)">
<h1>Account Settings</h1>
</div>
<div id="divcontent3" class="acc-s-content showhide">
<p>content</p>
</div>
</div>
CSS
.acc-s-content{display:none;}
答案 0 :(得分:3)
你有错误的选择器来定位来自兄弟.showhide
点击div divs的div的元素.acc-s-container
。使用:
function showHide(button){
$(button).next('.showhide').toggle().parent().siblings().find('.showhide').hide();
}