2012-02-17 46 views
3

我有一个Jquery UI Accordion,我可以动态添加某些元素。我使用自编排序代码,允许我以正确的字母顺序添加动态手风琴类别。我遇到的问题是,如果动态元素进入手风琴的顶部或底部,那么我的排序功能会失败。如何强制jQuery UI忽略手风琴中的某些元素

我想出了一个麦-操纵方式,让我通过创建手风琴内虚设元件与顶一个具有id="0000000000000000000000000000"并用id="zzzzzzzzzzzzzzzzzzzzzzzzzzz"

问题底部元件排序绕过问题是现在的手风琴跳闸出不知道如何处理这些虚拟元素,并且没有任何数量的display:none,visibility:hidden,disabled或甚至data-role="none"修复此问题。

我的问题是如何将虚拟元素添加到手风琴的顶部和底部,手风琴将完全忽略这些元素。如果元素是div,span,img或其他什么都没关系,只要手风琴会忽略它们,任何方法都行得通。

谢谢。

+0

我建议这里真正的问题是你的排序功能,你应该修复它。 – Interrobang 2012-02-17 10:36:04

+0

排序的问题在于手风琴需要2个独立的元素h3和后续的div,但由戈兰工作的答案 – 2012-02-17 20:27:12

回答

6

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

查看以下示例的jsFiddle

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

希望能够解决您的问题。正如Interrobang所说,问题很可能与分拣有关。

+1

谢谢!这工作完美! – 2012-02-17 20:26:03