2012-02-09 157 views
0

我想獲取元素在父元素中的位置。例如獲取父元素中元素的位置(索引)

<div> 
<h2 class="one">A</h2> 
<span>Something</span> 
<h2 class="two">B</h2> 
<h2 class="three">C</h2> 
</div> 

現在假設我得到h2.two $('h2.two')的引用。在一個事件中。我想要這個元素相對於div中其他h2的位置。在這種情況下,它是2.請不要告訴我,我可以通過類名來獲取它,因爲不會有這些類名。它只是爲了解釋。

NB:我想它在H2列表中的位置,基本都在$( 'h2.two')父()兒童( 'H2')不是所有的元素

function buildPath(element) 
{ 
var Xpath,position=-1; 
element=$(element);//Just in case; 
Xpath=getTagName(element); 
parent=element.parent(); 
console.log(parent.children(Xpath)); 

var position = element.siblings(Xpath).element.index(element);//I want the position here 
Xpath="/"+Xpath+"["+position+"]"; 
    console.log(Xpath); 
    console.log(getTagName(parent)); 
    if (getTagName(element)=='body') 
    return Xpath; 



} 

回答

3
var $theH2 = $('h2.two'); 

var index = $theH2.siblings("h2").andSelf().index($theH2); 

這是一個工作示例:

http://jsfiddle.net/Bm6Wd/

點擊的H2,它會提醒索引。

+0

正在工作。返回一個不能調用方法的錯誤 – 2012-02-09 03:27:58

+0

我已經編輯了代碼,所以你可以se – 2012-02-09 03:28:47

+0

工作。非常感謝 – 2012-02-09 03:30:06