如何在jquery中找到带有id的元素编号?

时间:2011-07-28 16:36:10

标签: jquery

<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中做到这一点?

3 个答案:

答案 0 :(得分:3)

$('#somed').closest('li').index()+1;

Here is a demo

答案 1 :(得分:0)

这个答案是一个更通用的解决方案,适用于所有li元素,其子div的{​​{1}}以'some'开头:

id

JS Fiddle demo

如果您需要它是$('div[id^="some"]').click( function(){ var indexOfParent = $(this).closest('li').index(); alert(indexOfParent); // alerts '2', due to zero-based JavaScript arrays. }); ,而不是本机JavaScript索引(从零开始),那么您必须明确地将3添加到变量

答案 2 :(得分:0)

尝试

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

由于元素被包装,您需要测试包含div的列表元素。您可以考虑将ID放在li上,并确定您是否确实需要div,但这是另一个讨论。

jQuery index() method