2012-02-05 21 views
5

** EDIT ** Tôi rất tiếc. Tôi cần chỉ mục td, không phải chỉ mục hàng.jQuery - nhận chỉ mục ô td của điều khiển

Sử dụng jQuery, làm cách nào để lấy chỉ mục của td lblName?

 <table> 
      <tr> 
       <td> 
       </td> 
       <td> 
        <label id="lblName" /> 
       </td> 
       <td> 
       </td> 
      </tr> 
     </table> 
+0

'.index() 'đưa ra một số chỉ số zero-based, và bạn chỉ có một hàng có, vì vậy chỉ số của nó là' 0'. Bạn có ý nghĩa gì bởi * "chỉ mục của nhãn tiêu đề" *? –

+0

Tôi xin lỗi, tôi cần chỉ mục td, không phải chỉ mục hàng. – tempid

Trả lời

18

Cập nhật cho câu hỏi Cập nhật:

$('#lblName').parent().index(); 

hoặc

document.getElementById('lblName').parentNode.cellIndex 

Câu trả lời gốc:

Sử dụng .index().

$('#lblName').closest('tr').index(); 

Phương thức .index() có một vài mẫu sử dụng khác nhau.

Điều này có nghĩa là "lấy phần tử đầu tiên phù hợp với công cụ chọn và trả lại chỉ mục dựa trên số không của vị trí của nó trong số các anh chị em".


Hoặc natively, làm được điều này ...

document.getElementById('lblName').parentNode.parentNode.rowIndex 

Hoặc kết hợp cả hai ...

$('#lblName').closest('tr')[0].rowIndex; 
+0

Cảm ơn bạn rất nhiều! Nó hoạt động hoàn hảo. Bạn có thể giới thiệu một cuốn sách hay về jquery không? – tempid

+0

@ user349308: Bạn có thể xem [hướng dẫn] (http://docs.jquery.com/Tutorials) trên trang web của jQuery. Ngoài ra, chỉ cần chạy qua [API tài liệu] (http://api.jquery.com/). Nếu bạn nhập một từ, như "chỉ mục", vào trường tìm kiếm về phía trên cùng, từ đó sẽ thu hẹp danh sách cho bạn. –

0
var index = $('#lblName').closest('tr').index(); 
0
$("table tr").index($("#lblName").parents("tr:first")) 
0

Hope, đoạn mã này sẽ là của bất kỳ sự giúp đỡ nào.

Bạn có thể sử dụng chỉ mục() với parentUntill() cho phần tử TR cha của TD đó.

dụ http://jsfiddle.net/ylokesh/bGvHZ/

$('#lblName').parentsUntil('tr').index() 
Các vấn đề liên quan