2011-10-21 93 views
7

的我有一些像這樣的代碼:獲取元素的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> 

我希望能夠確定,使用jQuery,一個給定的H2的指標,排除所有其他元素,所以只涉及h2元素。例如,如果我得到id =「123」的項目的索引,它會返回3,因爲它是樹中的第三個h2。

我已經試過這樣:

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

但它似乎並沒有工作。它仍然統計與DOM中結構相同級別的其他元素。

+1

記住, 「123」 是不是爲ID屬性的有效值。 – jbabey

回答

17

您必須指定元素集合,然後使用index(<element>)來獲取給定元素的索引。注意:參數必須是jQuery或DOM對象。字符串不起作用。
請注意,JavaScript索引是從零開始的,因此2的索引實際上意味着第三個元素

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

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

+1

這是天才!!,你需要一個獎項,我想他們應該創造一個新聞的方式來做到這一點 – Fanckush

+1

完美的答案! –

+0

https://jsfiddle.net/6ksujand/只是我的例子說明這個答案有多好 – Squirrl