我有以下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/