在事件“单击”时,我想获取可以位于多个容器中的元素的索引。返回的索引位置应该相对于其容器而不是主体标记来计算。
我在这里写了一个例子:http://jsfiddle.net/zUGcK/
我的问题是,当我单击第二个 block 容器中的行时,返回的行索引为:3、4、5,而我希望返回 0、1、2。
我应该在 jquery index() 参数中更改什么,才能为两个容器中的每一行返回 0、1、2?
谢谢
$('.line').click(function()
{
alert('index: '+$(this).index('.container .line'));
});
<div class="container">
<div class="header">block #1</div>
<div class="line">line #0</div>
<div class="line">line #1</div>
<div class="line">line #2</div>
</div>
<div class="container">
<div class="header">block #2</div>
<div class="line">line #0 (index 3 returned instead of 0)</div>
<div class="line">line #1 (index 4 returned instead of 1)</div>
<div class="line">line #2 (index 5 returned instead of 2)</div>
</div>
最佳答案
您可以使用它来获取其容器内元素的索引值
$(function()
{
$('.line').click(function()
{
//alert('index: '+$(this).index('.container .line'));
alert($(this).closest('.container').find('.line').index(this));
});
});
您必须使用 $.index 的语法
.index( element )
element The DOM element or first element within the jQuery object to look for.
关于jquery - 获取不同容器内相同元素类的jquery索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10872947/