2012-02-09 112 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