2013-02-19 113 views
5

我有一个表行中的行和多个TD,这样的:使用jQuery选择第三个​​?

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

我能够得到所有的TDS的父TR,但有没有办法让里面的第3个TD只有tr?

的代码来获取TR是:

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

感谢

+0

可能重复的[如何选择使用jquery一个TR的第n TD](http://stackoverflow.com/questions/7229145/how-to-select -th-td-of-tr-using-jquery) – 2013-02-19 12:26:00

回答

10

您可以使用:eq选择:

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

或者:

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

为什么这个和foo? – user1856596 2013-02-19 12:27:55

+0

@ user1856596这就是'$(selector,context)','this'是指当前的'tr'。 – undefined 2013-02-19 12:29:31

+0

好的!看起来很有希望。 – user1856596 2013-02-19 12:30:09

2

使用:EQ在jQ中运行uery:http://api.jquery.com/eq/

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

.eq(3)将代表第四个td – Gautam3164 2013-02-19 12:27:16

+0

更正。 P.s,您的解决方案将不适用于早期版本的IE。 – 2013-02-19 12:29:27

+0

jQuery('#shopping-cart-table> tbody td:eq(2)'); IE浏览器必须引起冲突,这不是我的....我检查了 – Gautam3164 2013-02-19 12:30:55

1

尝试用这种

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

尝试这样的:

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

这是最好的和最简单的代码。 您可以点击该行中的按钮,它会显示第三个值。 如果你的表:

<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> 

然后在JavaScript绑定点击事件按钮像如下: -

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

这将解决这个问题。

0

回答为标题:

$("#tableId tr td:nth-child(3)").html(); 
相关问题