如何强制jQuery UI忽略Accordion中的某些元素

时间:2012-02-17 10:27:22

标签: jquery jquery-ui sorting ignore jquery-ui-accordion

我有一个Jquery UI Accordion,我动态地添加了某些元素。我使用自编的排序代码,允许我按正确的字母顺序添加动态Accordion类别。我遇到的问题是,如果动态元素位于手风琴的最顶部或最底部,那么我的排序功能就会失败。

我想出了一种吉姆操纵的方式,通过在手风琴中创建虚拟元素,让我绕过排序问题,其中顶部元素具有id="0000000000000000000000000000",底部元素具有id="zzzzzzzzzzzzzzzzzzzzzzzzzzz"

现在的问题是手风琴不知道如何处理这些虚拟元素,并且display:nonevisibility:hiddendisabled甚至data-role="none"都没有修复这个问题。

我的问题是如何在手风琴的顶部和底部添加虚拟元素,手风琴将完全忽略它们。如果元素是divspanimg或其他任何东西,只要手风琴会忽略它们,对我来说无关紧要。

感谢。

1 个答案:

答案 0 :(得分:7)

虽然您无法明确指定Accordion要忽略哪些元素,但您可以使用header选项指定它接受哪些元素。我建议在顶部和底部元素中添加一个名为ignore的类,然后使用:not()选择器包含不包含此类的任何其他元素。

有关示例,请参阅以下jsFiddle

$('#myAccordion').accordion({
    header: 'h3:not(.ignore)'
}); 

希望能解决您的问题。正如Interrobang所说,问题最有可能是排序。