【发布时间】:2016-04-24 16:29:05
【问题描述】:
我在我的标记中嵌套了 jQuery 手风琴,我尝试根据之前会话中最后打开的路径在页面加载时自动打开。 我将路径保存到cookie中,加载cookie并运行以下代码
path.forEach(function(label){
var element = root.find("[data-caption='"+label+"']");
element.parent().accordion( "option", "active", parseInt(element.attr('data-index')) );
root = element.children().eq(1);
});
问题是由于某种原因,“活动”仅对第一个手风琴生效,而不是嵌套的手风琴。
我检查了几次:
- element.parent() 确实是一个手风琴(否则它会抛出一个错误)。
- data-caption 是每次迭代中元素的唯一键。
- element.children().eq(1) 是活动面板(根据 jQuery UI Accordion 的结构)。
- 我要求打开的活动元素确实存在于每次迭代中。
我不知道这里有什么问题,有什么想法吗?
【问题讨论】:
-
第 3 点似乎不太可能,尤其是考虑到您将它与
.find一起使用。你能提供你的手风琴的 HTML 吗?或者构造一个minimal reproducible example?