2012-08-01 84 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");