2012-08-01 119 views
4

我使用twitter bootstrap在頁面上製作手風琴。我想在每個頁面上打開第一個面板。這是我寫的代碼:Twitter bootstrap使手風琴的第一個面板默認打開

var accordion_list = $(".prime-content .accordion-body"); 
    accordion_list.each(function(index, element){ 
     accordion_list.addClass(index == 0 ? "in" : ""); 
    }); 

但是,這是爲所有元素添加「in」類。什麼需要解決?

+0

使用像eq(),find(),first-child這樣的東西,它會解決你的問題,我認爲 – SVS 2012-08-01 07:15:45

回答

6

您正在將該類添加到整個accordion_list元素集合中,但您需要將其添加到當前迭代的元素中。

$(".prime-content .accordion-body").each(function(index, element){ 
    $(element).addClass(index == 0 ? "in" : ""); 
}); 

如果你沒有做任何事情在循環否則你也可以把它縮短:

accordion_list.first().addClass("in"); 
+2

第一個解決方案是錯誤的,因爲它是一個HTMLElements的集合!第二個工作雖然。謝謝。 :) – 2012-08-01 07:36:14

+0

哦,你是對的,需要從該html元素創建一個jQuery對象。我糾正了它。 – Kapep 2012-08-01 07:45:51

2

如果你想顯示在手風琴第一面板:

$("#accordion").find('.panel-collapse:first').addClass("in"); 
相關問題