2012-02-17 42 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