获取元素的jquery索引 - 仅包含某些类型的元素

时间:2011-10-21 15:59:28

标签: jquery indexing

我有一些像这样的代码:

<h2 id="a">Header</h2>
<table>
  <tr>
    <td>test</td>
  </tr>
</table>

<h2 id="zzz">Header</h2>
<table>
  <tr>
    <td>test</td>
  </tr>
</table>

<h2 id="123">Header</h2>
<table>
  <tr>
    <td>test</td>
  </tr>
</table>

我希望能够使用jQuery确定给定h2的索引,排除所有其他元素,因此仅与h2元素相关。因此,例如,如果我得到id为“123”的项目的索引,它将返回3,因为它是树中的第三个h2。

我试过这个:

$('#123').index('h2');

但它似乎不起作用。它仍然计算计数中DOM结构的同一级别的其他元素。

1 个答案:

答案 0 :(得分:17)

您必须指定元素集合,然后使用index(<element>)获取给定元素的索引。注意:参数必须是jQuery或DOM对象。字符串不起作用。
请注意,JavaScript索引从零开始,因此索引2实际上意味着第三个​​元素

$("#123").parent().children('h2').index($('#123'))

小提琴:http://jsfiddle.net/2dg2q/