2011-07-19 44 views
2

行的第二個單元格,我有以下的HTML表格選擇使用jQuery

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

我只是想獲得textsecond column(即 'two')

我試圖

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

但returs一個空字符串 它是如何可能通過jQuery的?

+0

的可能的複製[?jQuery的 - 選擇一個給定行的第一個單元格(HTTPS ://stackoverflow.com/questions/1425937/jquery-select-first-cell-of-a-given-row) – Chamith

回答

5

您應使用以下建築:

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

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

eq選擇使用從零開始的索引。你也必須使用text方法,而不是val

3

列表索引從0開始,而不是從1

您試圖選擇第3列,這不存在。此外,.val()方法僅用於獲取和設置表單字段,而不是普通的html元素。使用.text()來代替!

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

可能工作。

+1

'val'不會爲這個HTML工作 –

+0

謝謝,固定我的答案! – Powertieke

2

使用nth-child選擇,以獲得第二單元

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

首先所有,eq()的說法是基於0的指數,因此要獲得第二個元素,你需要調用eq(1)

其次,val()方法用於從輸入中檢索值,您正在處理td元素,而不是輸入。

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

會做what you're expecting

0

你可以使用第n個孩子選擇,或者你應該使用EQ(1)。此外,你應該在的jsfiddle使用的.text()或.html()而不是.VAL()

一個例子:http://jsfiddle.net/heTyW/