jquery 通过类出现指数

trnvg8h3  于 2023-04-29  发布在  jQuery
关注(0)|答案(2)|浏览(129)

假设我有以下HTML:

<div id="Container">
    <div class="TheClass"></div>
    <div class="TheOtherClass"></div>
    <div class="TheClass"></div>
    <div class="TheOtherClass"></div>
    <div class="TheClass"></div>
    <div class="TheOtherClass"></div>
</div>

如你所见,我有两节课轮流上。我想传递类TheClass在容器中出现的索引。
如果我写:

$('#Container').on({
   click: function () { SomeFunction($(this).index()); }
}, '.TheClass');

然后单击最后一个元素TheClass,传递的参数将是5,但我想接收3,因为最后一个TheClass元素是第三次出现。我该怎么做?

col17t5w

col17t5w1#

尝试使用选择器作为参数的index()变体

$('#Container').on({
    click: function () {
        SomeFunction($(this).index('#Container .TheClass'));
    }
}, '.TheClass');

演示:Fiddle

h5qlskok

h5qlskok2#

只需要根据你要引用的类定义索引:

$('#Container').on({
        click: function () { 
            SomeFunction($(this).index("." + $(this).attr('class')) + 1);
        }
    }, '.TheClass');

这样,您的代码更干燥,更可移植。

相关问题