2009-11-16 18 views

回答

0

嘗試:

function Accord(acc_id, header_id) { 
    $('#' + acc_id).accordion({ 
     alwaysOpen: false, 
     active: false, 
     autoheight: false, 
     header: header_id, 
     clearStyle: true 
    }); 
} 
+0

參數名稱header_id令人困惑,因爲它可以是任何有效的選擇器。 – ChaosPandion 2009-11-16 20:54:17

+0

是的,好點。當我需要傳遞字符串選擇器來區分傳遞整個對象時,我喜歡用_id標記東西:header = $('。header')vs header_id ='header'。我可能需要更好的後綴/前綴。 – rochal 2009-11-16 21:30:34

2
var header = 'h3.ui-accordion3-header'; 
$(acc_id).accordion({ 
     alwaysOpen: false, 
     active: false, 
     autoheight: false, 
     header: header, 
     clearStyle: true 
    }); 
0

不能完全確定你要找的是什麼,但這樣的事情可能工作

$(acc_id).accordion({ 
    alwaysOpen: false, 
    active: false, 
    autoheight: false, 
    header: $(this).find('h3.ui-accordion3-header').text(), 
    clearStyle: true 
}); 
+0

這可能會在內部引發錯誤。如果你刪除.text()它應該工作。在任何情況下,這都不能回答這個問題。 – ChaosPandion 2009-11-16 20:58:06

+0

這種方式對我很好,謝謝。 – Luci 2009-11-17 15:48:09

+0

我可以得到接受的答案嗎?或至少upvote?哈哈 – Jiaaro 2009-11-17 16:32:11

1

通過ChaosPandion和rochal(在例子中給出的方法標題是從一個變量中定義的)對我來說似乎是最好的,但另一個有用的事情要知道的是,您可以使用「選項」選項來重新定義手風琴上的任何選項,如下所示:

$(acc_id).accordion({ 
           alwaysOpen: false, 
           active: false, 
           autoheight: false, 
           header: 'placeholder', 
           clearStyle: true 
         }); 
$(acc_id).accordion('option', 'header', 'h3.ui-accordion3-header'); 

通過這種方式,您可以創建手風琴,然後設置標題值。