javascript - 使用标题元素 ID 的 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</div>
</div>

//javascript

$('#accordion').accordion({collapsible:true,active:false});

问题:默认情况下所有选项卡都是关闭的。所以我需要使用标题元素 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包含更多<h3> Accordion 之外的元素。然后,以下解决方法将适用于这种类型的场景。

HTML

<h3 id="test1">Example Head 1</h3> 
<h3 id="test2">Example Head 2</h3> 
<h3 id="test3">Example Head 3</h3> 

<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>

JavaScript

alert($('h3#head_1').index('h3.headAcc'));//return 0 as expected
alert($('h3#head_2').index());//return 2 because element is in after first tab div
alert($('h3#head_2').index('h3.headAcc'));//return 1 as expected

最佳答案

DEMO

var indexOfheaderTwo= $('h3#head_2').index('h3'); //returns 1 as index of h3 with respect to parent is traced and it is the 2nd child of parent with tag h3.

索引从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

阅读.index()

关于javascript - 使用标题元素 ID 的 jquery Accordion 选项卡索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19393806/

相关文章:

javascript - 浏览器在 javascript 函数完成执行之前不显示消息

javascript - jquery Accordion 在页面加载时展开

javascript - 部分折叠内容的 Accordion

javascript - 创建一个独立的 Javascript 对象,该对象继承自父级但不从子级继承到父级

javascript - JQuery 并非在所有地方都能正常工作

javascript - 试图覆盖 CSS...但它在 PHP iframe 中?

jquery - 基础 Accordion 全部激活或在页面加载时展开

javascript - 在 Javascript/jQuery 中克隆一个事件对象

jquery - 使用 jQuery.html 方法将 Div 设置为带有跨度的 Rails link_to

javascript - 打印页面在 iframe 加载时自动打开