私は次の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>
actionButton クラスをセレクターとして使用して、dom のインデックスに基づいてボタンを非アクティブ化する関数を使用します。
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 ラッパーのボタンは、2 番目の div ラッパーの最後のボタンと同じインデックスを持ちます。これはマークアップの問題ですか?
2 番目の div ブロックのボタンが正しく返される様子を見ると、問題はマークアップ/セレクターに関連しているとしか思えません。マークアップを変更せずにこの問題を解決するにはどうすればよいですか?