我需要能够动态地确定另一个div中某个div的索引是什么。例如:
<div id="parent">
<div id="div-0"></div>
<div id="div-5"></div>
<div id="div-1"></div>
<div id="div-2"></div>
<div id="div-3"></div>
<div id="div-4"></div>
</div>
对于任何一个我需要能够知道给定div是否是第一个,第二个......等等。
编辑: 好吧,显然我没有解释得这么好。我尝试了下面的所有内容,每次我得到的都是0。我编辑了上面的例子来反映正在发生的事情。因此,鉴于更新的示例,我需要做的是以下内容:
var index = $('#div-4').index();
目前这只是每次都返回0。
答案 0 :(得分:3)
$('#parent div').on('click',function(){
var elIndex = $(this).index();
$(this).text('my index is: '+ elIndex);
});
很高兴知道在jQuery v中,1.3.3 .index()
不起作用,
在这种情况下,您可以使用.prevAll()
和length
:
var elIndex = $(this).prevAll().length;
如果您有多个类名作为子项,则此技术特别有用,例如:在DIV中你有:
<div id="parent">
<div class="aa"></div>
<div class="bb"></div>
<div class="aa"></div>
<div class="bb"></div>
</div>
...然后点击'.aa'元素,你想得到它的'索引',而不是像以下那样:
$('#parent .aa').click(function(){
var elIndex = $(this).prevAll('.aa');
$(this).text('my index type of class name is: '+ elIndex);
});
答案 1 :(得分:0)
我不是评论中的注释:
<强>索引强>()
返回值
如果没有参数传递给.index()方法,则返回值是一个整数,表示jQuery对象中第一个元素相对于其兄弟元素的位置。
答案 2 :(得分:0)