2015-09-18 75 views
1

我對此有些惱人的麻煩。我需要在索引中進行搜索時獲取表格中該行的id。按索引獲取表格行號

table_id=$(this).closest('table').attr('id'); //Table Id 

我有表id和例如我需要第二行id。我已經嘗試使用nth:child以及.children等,但是我嘗試的所有內容都以未定義的結果返回。我知道它是一個簡單的修復,但我似乎無法讓它工作。

+3

您可以發佈您的標記的樣本?你可能有一個'tbody'標籤,所以你需要相應地調整選擇器。 –

回答

3

這是非常簡單的,因爲表的ID選擇tr和使用.eq找到所需要的行 - 記住,這將從零開始的是,這樣第二行是eq(1)

var table_id="myTable" 
 
var secondRowId = $('#' + table_id + ' tr').eq(1).attr('id'); 
 
alert(secondRowId)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<table id="myTable"> 
 
    <tr id="row1"> 
 
     <td></td> 
 
    </tr> 
 
    <tr id="row2"> 
 
     <td></td> 
 
    </tr> 
 
</table>

+0

我瞥了一眼,意識到我做錯了什麼。我忘了它是0索引,所以我使用eq(2)試圖獲得第二行。很好,謝謝你的幫助! – workingxx

+1

@workingxx如果它讓你感覺更好,我做了完全相同的事情,就像你一樣得到'undefined'這就是爲什麼我添加了筆記。 – Jamiec

+0

哈哈,謝謝!這讓我瘋狂 – workingxx

0

你試過什麼選擇器nth-child

如果是我的話,這裏是選擇我會用得到第二行的ID在表:

var table_id = $(this).closest('table').attr('id'); 
var t_selector = '#' + table_id + ' tr:nth-child(2)'; 
var row_id = $(t_selector).attr('id');