首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

jQuery 獲取正確索引:避免巢狀 children() 導致索引歸零

     編輯:程式設計綜合問答

程式碼 $b = $(".body7").children().children(); 取得的是「孫元素」集合,對每個孫元素呼叫 $(this).index() 時,索引是相對於**其直接父元素下的同輩元素**,故永遠為 0 或 1。

解決方案

  1. 加上共同 class,直接選取目標元素:
    var $items = $(".body7 .target-item"); → $items.index(this) 即為全域索引。
  2. 使用 data-index 屬性:
    後端渲染時輸出 data-index="5",前端 $(this).data('index') 取得。
  3. 改用單層選取器:
    若結構固定,$(".body7 > .row > .cell") 取得扁平集合,.index() 即正確。

範例:data-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() 會縮小範圍導致索引歸零,改用扁平選取或顯式屬性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved