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

Dan*_*Dan 7 indexing jquery

我有一些像这样的代码:

<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>
Run Code Online (Sandbox Code Playgroud)

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

我试过这个:

$('#123').index('h2');
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.它仍然计算计数中DOM结构的同一级别的其他元素.

Rob*_*b W 17

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

$("#123").parent().children('h2').index($('#123'))
Run Code Online (Sandbox Code Playgroud)

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

  • 这是天才!!,你需要一个奖项,我想他们应该创造一种新闻方式来做到这一点 (2认同)