JQuery UI 嵌套手风琴 - 单击子手风琴将关闭父手风琴
JQuery UI Nested Accordion - clicking on child accordion closes the parent
我正在实现一个嵌套手风琴,但是当我单击父手风琴中的子组件时,它会关闭父级。我希望它在点击孩子时保持打开状态。
.HTML:
<div id="accordion">
<h3>Home</h3>
<div id="accordion">
<h3>Sub-Div1</h3>
<div>
<p>This is a sub-div</p>
</div>
</div>
</div>
脚本:
<script>
$("#accordion").accordion({
header: "> h3:not(.item)",
heightStyle: "content",
active: false,
collapsible: true
});
</script>
问题是两个手风琴都有相同的 id(一开始是无效的 html(,这使得插件始终与第一个匹配。
如果您使用类,它可以正常工作
<div class="accordion">
<h3>Home</h3>
<div class="accordion">
<h3>Sub-Div1</h3>
<div>
<p>This is a sub-div</p>
</div>
</div>
</div>
和
$(".accordion").accordion({
header: "> h3:not(.item)",
heightStyle: "content",
active: false,
collapsible: true
});
http://jsfiddle.net/gaby/xmq8xhvp/演示
只是使用您的代码来解决相同的问题,它立即起作用,谢谢。
不知道为什么它有效 -
header: "> h3:not(.item)",
我读了上面的内容:对于标头,获取直接子 h3(在 class="accordion 之后(,但不获取 (.item(。
那么,.item 必须引用嵌套手风琴类的直接子级吗? .item 是一个保留的 jquery 词吗?我已经用谷歌搜索过了,但什么也没想出来。
正如html4和html5规范所说:不应有多个元素具有相同的 id 属性。
所以,更改你的父元素或子元素 id 属性,我保证你会没事的。
相关文章:
- 仅在单击右侧符号时打开手风琴
- 单击手风琴菜单外的链接时折叠jQuery手风琴
- 如何在单击子链接时停止垂直菜单的手风琴
- 单击手风琴时如何滚动到页面顶部
- 引导手风琴,单击时滚动到活动(打开)手风琴的顶部
- 单击标题而不仅仅是标题时打开手风琴面板
- 引导 - 折叠所有手风琴并显示单击
- 引导手风琴在表格内切换,并在单击时更改所选行的背景颜色
- JQuery 手风琴在单击时不断移动到页面顶部
- Joomla javascript(JQuery)手风琴菜单总是在单击最后一个子元素时展开所有节点
- JQuery UI 嵌套手风琴 - 单击子手风琴将关闭父手风琴
- 手风琴打开页面上的所有手风琴,再次单击时不会折叠
- 如何通过单击内部的复选框折叠引导手风琴
- jQuery-水平手风琴单击
- 将选项卡式内容响应到手风琴-单击选项卡时手风琴关闭
- 单击第二个手风琴菜单时,关闭打开的手风琴菜单,引导
- 单击列表中的第一个项目时打开手风琴
- 如何防止在单击标题中的按钮时手风琴切换
- 当单击jQuery手风琴时激活javascript函数
- 如何控制手风琴事件与按钮单击