2011-07-28 37 views
0
<ul> 
<li><div id="some1">.....</div></li> 
<li><div id="some22">.....</div></li> 
<li><div id="somed">.....</div></li> 
<li><div id="some54">.....</div></li> 
<li><div id="some77">.....</div></li> 
<li><div id="some32">.....</div></li> 
<li><div id="some2">.....</div></li> 
</ul> 

在上面的結構中,我想找到其孩子#somed的li的數字或索引+1。所以基本上爲#somed我想得到的值3.任何想法如何在jQuery中做到這一點?如何在jquery中找到帶有id的元素號?

回答

0

這個答案貼的更廣義的解決方案,應該對所有li元素與兒童divid以 '一些' 工作:

$('div[id^="some"]').click(
    function(){ 
     var indexOfParent = $(this).closest('li').index(); 
     alert(indexOfParent); // alerts '2', due to zero-based JavaScript arrays. 
    }); 

JS Fiddle demo

如果需要它是3,而不是本地JavaScript指數(從零開始),那麼你就必須明確地添加1的變量。

0

嘗試

$('#someId').parent().index()+1

因爲你的元素包裹,你需要測試過包含您的div列表中的元素。你可以考慮把ID放在li上,並且確定你是否真的需要divs,但這是另一個討論。

jQuery index() method

相關問題