2014-04-11 92 views
0

我有这个排序列表:获取带ID的li索引?

  <ul id="sortable"> 
       <li id="Item1"><img src="../../../../IMAGES/04_01/P2_0401_18.jpg" /></li> 
       <li id="Item2"><img src="../../../../IMAGES/04_01/P2_0401_20.jpg" /></li> 
       <li id="Item3"><img src="../../../../IMAGES/04_01/P2_0401_22.jpg" /></li> 
       <li id="Item4"><img src="../../../../IMAGES/04_01/P2_0401_24.jpg" /></li> 
       <li id="Item5"><img src="../../../../IMAGES/04_01/P2_0401_26.jpg" /></li> 
       <li id="Item6"><img src="../../../../IMAGES/04_01/P2_0401_28.jpg" /></li> 
      </ul> 

当然,当用户移动的项目,每个项目ID的变化指标。我想要做的是将项目的新索引存储在单独的变量itemIndex1, itemIndex2, etc中,以便我可以在稍后运行的函数中检查它们的位置。

这是造成我的难题代码:

var itemIndex1 = $('#sortable li').index($('#sortable li:nth-child(1)')); 
var itemIndex2 = $('#sortable li').index($('#sortable li:nth-child(2)')); 
var itemIndex3 = $('#sortable li').index($('#sortable li:nth-child(3)')); 
var itemIndex4 = $('#sortable li').index($('#sortable li:nth-child(4)')); 
var itemIndex5 = $('#sortable li').index($('#sortable li:nth-child(5)')); 
var itemIndex6 = $('#sortable li').index($('#sortable li:nth-child(6)')); 

,我发现在这里计算器另一个问题该解决方案,但它并没有真正适合我的目的,因为每个itemIndex只是返回每个L1的指标孩子,不管其身份。 itemIndex1总是会返回0itemIndex2总是返回1

我希望能够得到的#Item4的指数,例如,如果用户已经拖它的0指数。

回答

2

在它自己的只需使用.index

var idx = $("#Item4").index(); 

如果没有参数被传递给所述的.index()的方法,所述返回值是 的整数,指示在第一元件的 内的位置jQuery对象相对于其同级元素