我有以下html结构

<div class="someClass">
    <button class="actionButton" id="b0"></button>
</div>
<div class="otherClass">
    <button class="actionButton" id="b1"></button>
    <button class="actionButton" id="b2"></button>
    <button class="actionButton" id="b3"></button>
    <button class="actionButton" id="b4"></button>
</div>


我使用一个函数根据其在dom中的索引来禁用按钮,使用actionButton类作为选择器,如下所示

function DisableButtons(indexes, disable) {
    $('.actionButton').each(function () {
        $this = $(this);
        alert($this[0].id + " index: " + $this.index());
    });
}


我的警报显示以下输出

b0 index: 3
b1 index: 0
b2 index: 1
b3 index: 2
b4 index: 3


第一个div包装器中的按钮与第二个div包装器中的最后一个按钮具有相同的索引。这是标记问题吗?

看到第二个div块中的按钮如何正确返回,我只能假设问题与标记/选择器有关。如何在不更改标记的情况下解决此问题?

最佳答案

代替

$this.index()


尝试

$('.actionButton').index($this)


以这种方式使用索引方法将Search for a given element from among the matched elements.

Check Fiddle

您想基于所有带有class="actionButton"的按钮的索引。

关于jquery - 单独的dom元素jquery上的重复索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16656705/

10-11 23:36
查看更多