<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中做到这一点?
答案 0 :(得分:3)
$('#somed').closest('li').index()+1;
答案 1 :(得分:0)
这个答案是一个更通用的解决方案,适用于所有li
元素,其子div
的{{1}}以'some'开头:
id
如果您需要它是$('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,但这是另一个讨论。