2013-02-19 29 views
5

Tôi có một bảng liên tiếp và nhiều tds trong hàng đó, như vậy:Chọn số <td> bằng jQuery?

<tr class="first odd"> 
    <td class="a-center"> 
    <td>...</td> 
    <td>...</td> --> I want this 
    <td>...</td> 
    <td>...</td> 
    <td>...</td> 
</tr> 

tôi có thể nhận được tr mẹ của tất cả các tds, nhưng là có một cách để có được những td 3rd bên trong tr chỉ?

Mã này để có được những tr là:

jQuery('#shopping-cart-table > tbody > tr').each(function(index, value) { 
    ... 
}); 

Cảm ơn

+0

thể trùng lặp của [làm thế nào để chọn td n-thứ của một tr sử dụng jquery] (http://stackoverflow.com/questions/7229145/how-to-select -n-th-td-of-a-tr-sử dụng-jquery) –

Trả lời

10

Bạn có thể sử dụng :eq selector:

jQuery('#shopping-cart-table > tbody > tr').each(function(index, value) { 
    $('td:eq(2)', this) 
}); 

Hoặc:

jQuery('#shopping-cart-table tbody').find('td:eq(2)'); 
+0

Tại sao điều này và foo? – user1856596

+0

@ user1856596 Đó là '$ (bộ chọn, ngữ cảnh)', 'this' đề cập đến' tr' hiện tại. – undefined

+0

Được rồi! Trông đầy hứa hẹn. – user1856596

2

Sử dụng: eq chức năng trong jQ uery: http://api.jquery.com/eq/

$('#shopping-cart-table td').eq(2); 
+0

.eq (3) sẽ đại diện cho số td – Gautam3164

+0

được sửa thứ tư. P.s, giải pháp của bạn sẽ không hoạt động trong các phiên bản trước của IE. –

+0

jQuery ('# shopping-cart-table> tbody td: eq (2)'); IE phải gây ra xung đột với điều này không phải của tôi .... Tôi đã kiểm tra – Gautam3164

1

Hãy thử với điều này

$("#shopping-cart-table > tbody > tr td").eq(2); 
1

Hãy thử như thế này:

$(".first td:nth-child(3)").append("<span>-3rd"); 
0

này là mã tốt nhất và dễ dàng nhất. Bạn có thể nhấp vào nút trong hàng đó sau đó nó sẽ hiển thị cho bạn giá trị thrid. nếu điều này bảng của bạn:

<tr class="first odd"> 
    <td class="a-center"> 
    <td>...</td> 
    <td>...</td> --> I want this 
    <td>...</td> 
    <td>...</td> 
    <td><button id='test'><button></td> 
</tr> 

sau đó trong javascript ràng buộc nút với sự kiện click như đưa ra dưới đây: -

$(document).ready(function() { 
    $('#test').click(function(){ 
     var thirdData = $(this).closest('tr').children('td:eq(2)').text(); 
     alert(thirdData); 
    }); 
}); 

này sẽ giải quyết vấn đề.

0

trả lời cho danh hiệu:

$("#tableId tr td:nth-child(3)").html(); 
Các vấn đề liên quan