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

Ser*_*gan 4 sorting jquery jquery-ui ignore jquery-ui-accordion

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

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

问题是现在的手风琴跳闸了,不知道如何处理这些伪元素,并没有量display:none,visibility:hidden,disabled,甚至data-role="none"修复了这个问题.

我的问题是如何在手风琴的顶部和底部添加虚拟元素,手风琴将完全忽略它们.如果该元素是不要紧,对我来说div,span,img或什么的,任何将工作,只要手风琴会忽略它们.

谢谢.

Gor*_*ram 7

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

有关示例,请参阅以下jsFiddle.

$('#myAccordion').accordion({
    header: 'h3:not(.ignore)'
}); 
Run Code Online (Sandbox Code Playgroud)

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