程式碼 $b = $(".body7").children().children(); 取得的是「孫元素」集合,對每個孫元素呼叫 $(this).index() 時,索引是相對於**其直接父元素下的同輩元素**,故永遠為 0 或 1。
var $items = $(".body7 .target-item"); → $items.index(this) 即為全域索引。data-index="5",前端 $(this).data('index') 取得。$(".body7 > .row > .cell") 取得扁平集合,.index() 即正確。<div class="body7">
<div class="row"><div class="cell" data-index="0">...</div></div>
<div class="row"><div class="cell" data-index="1">...</div></div>
...
</div>
<script>
$(".body7 .cell").hover(function() {
var idx = $(this).data('index'); // 直接取得 0,1,2...
console.log('索引:', idx);
});
</script>
核心原則:索引依賴選取器範圍,巢狀 children() 會縮小範圍導致索引歸零,改用扁平選取或顯式屬性。