使用jQuery选择行的第二个单元格

时间:2011-07-19 07:19:23

标签: jquery

我有以下HTML表格

<table>
<tr class="trSelected">
<td>One</td>
<td>two</td>
</tr>
</table>

我只想获得text中的second column(即'two')

我试过

$('.trSelected td').eq(2).val()

但是它会回复一个空字符串 如何通过jQuery实现?

5 个答案:

答案 0 :(得分:8)

您应该使用以下结构:

$('.trSelected td').eq(1).text()

$('.trSelected td:eq(1)').text()

eq选择器使用从零开始的索引。此外,您必须使用text方法,而不是val

答案 1 :(得分:4)

列表索引从0开始,而不是从1开始。

您正在尝试选择不存在的第3列。此外,.val()方法仅用于获取和设置表单字段,而不是普通的html元素。请改用.text()!

$('.trSelected td').eq(1).text()

可能有用。

答案 2 :(得分:2)

使用nth-child选择器获取第二个单元格

$(".trSelected td:nth-child(2)").val()

答案 3 :(得分:2)

首先,eq()的参数是一个基于0的索引,因此要获得第二个元素,您需要调用eq(1)

其次,val()方法用于从输入中检索值,您处理td元素,而不是输入。

$('.trSelected td').eq(1).text()

what you're expecting

答案 4 :(得分:0)

您可以使用第n个子选择器,或者您应该使用eq(1)。此外,您应该使用.text()或.html()而不是.val()

jsFiddle中的一个例子:http://jsfiddle.net/heTyW/