Javascript 使用标题元素ID的jquery accordion选项卡索引

Javascript 使用标题元素ID的jquery accordion选项卡索引,javascript,jquery,accordion,Javascript,Jquery,Accordion,//html <div id="accordion" > <h3 class='headAcc' id="head_1">First header</h3> <div>First content panel</div> <h3 class='headAcc'id="head_2">Second header</h3> <div>Second content panel</

//html

<div id="accordion" >
   <h3 class='headAcc' id="head_1">First header</h3>
   <div>First content panel</div>
   <h3 class='headAcc'id="head_2">Second header</h3>
   <div>Second content panel</div>
</div>
问题:默认情况下,所有选项卡都关闭。因此,我需要使用标题元素id获取选项卡的索引。我如何才能做到这一点

我试过跟随。但是没有运气。提前谢谢

var indexOfheaderOne= $('h3#head_1').index(); //returns 0 which is ok
var indexOfheaderTwo= $('h3#head_2').index(); // returns 2 instead of 1. 

//I think the reason is it will count the indexes based on all sibling elements
//not just from header elements. Is there any workaround for this.
编辑 对@Thusar解决方案进行了少量修改

假设您的html在accordion之外包含更多的
元素。然后,以下解决方法将适用于该类型的场景

HTML

索引从0开始

对问题的解释

var indexOfheaderOne= $('h3#head_1').index(); //returns 0 As it is first child of parent div

var indexOfheaderTwo= $('h3#head_2').index(); // returns 2 As it is third child of parent div
阅读

索引从0开始

对问题的解释

var indexOfheaderOne= $('h3#head_1').index(); //returns 0 As it is first child of parent div

var indexOfheaderTwo= $('h3#head_2').index(); // returns 2 As it is third child of parent div
阅读

索引从0开始

对问题的解释

var indexOfheaderOne= $('h3#head_1').index(); //returns 0 As it is first child of parent div

var indexOfheaderTwo= $('h3#head_2').index(); // returns 2 As it is third child of parent div
阅读

索引从0开始

对问题的解释

var indexOfheaderOne= $('h3#head_1').index(); //returns 0 As it is first child of parent div

var indexOfheaderTwo= $('h3#head_2').index(); // returns 2 As it is third child of parent div

阅读你关于为什么返回2的假设是正确的

将索引选择器更改为,如下所示:

var indexOfheaderOne= $('h3').index($('#head_1')); //returns 0 which is ok
var indexOfheaderTwo= $('h3').index($('#head_2')); // returns 1. 

jsFIDLE:

您关于它为什么返回2的假设是正确的

将索引选择器更改为,如下所示:

var indexOfheaderOne= $('h3').index($('#head_1')); //returns 0 which is ok
var indexOfheaderTwo= $('h3').index($('#head_2')); // returns 1. 

jsFIDLE:

您关于它为什么返回2的假设是正确的

将索引选择器更改为,如下所示:

var indexOfheaderOne= $('h3').index($('#head_1')); //returns 0 which is ok
var indexOfheaderTwo= $('h3').index($('#head_2')); // returns 1. 

jsFIDLE:

您关于它为什么返回2的假设是正确的

将索引选择器更改为,如下所示:

var indexOfheaderOne= $('h3').index($('#head_1')); //returns 0 which is ok
var indexOfheaderTwo= $('h3').index($('#head_2')); // returns 1. 
JsFiddle:

你试过这个吗?使用手风琴时,它可能具有内置功能

尝试演示

你试过这个吗?使用手风琴时,它可能具有内置功能

尝试演示

你试过这个吗?使用手风琴时,它可能具有内置功能

尝试演示

你试过这个吗?使用手风琴时,它可能具有内置功能


试试演示。

棒极了,兄弟。这正是我想要的。棒极了,兄弟。这正是我想要的。棒极了,兄弟。这正是我想要的。棒极了,兄弟。这就是我想要的。