2014-09-28 143 views
2

我想獲取表格最後一行的第一個單元格的值,但看起來語法不正確。你能檢查一下嗎?獲取最後一行的第一個單元格的值

var id = $(this).closest('table').children('tr last').children('td first').text(); 

var id = $(this).closest('table tr:last-child td:first-child').text(); 

回答

1

對於 「最後一排的第一個單元格」,您可以:

var id = $(this).closest('table').find('tr:last td:first').text(); 



當然,如果this是下table的元素會只工作你正在嘗試從中獲取值。

還請注意id是一個字符串,即使該單元格的內容是一個數字。如果你想對它進行數字操作,你必須使用parseInt(id)將它轉換爲一個整數


下面的Runnable演示片段。

var thizz = document.getElementById('someElementUnderTable'); 
 
var id = $(thizz).closest('table').find('tr:last td:first').text(); 
 

 
var new_id = parseInt(id) + 1; 
 

 

 
alert('Original was: '+id+'\nAfter adding one: '+new_id);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<table> 
 
    <tr> 
 
    <td id="someElementUnderTable"></td> 
 
    <td></td> 
 
    </tr> 
 
    <tr> 
 
    <td>5</td> 
 
    <td></td> 
 
    </tr> 
 
</table>

1

如何得到它outisde this

$('table#myTable > tr:last-child > td:first-child').text(); 

如果this是表的一個孩子,那麼這樣的事情:

$(this).parents('table').find('> tr:last-child > td:first-child').text(); 

或者,如果沒有,

$(this).closest('table').find('> tr:last-child > td:first-child').text(); 
1
var id = $(this).closest('table').find('tr').last().find('td').first().text(); 
+0

感謝您的幫助。我還想知道如何將該值加1。例如,我得到** var id = 5 **,然後我想創建一個新變量** var new_id = id + 1 **。我應該得到6結果,但我得到了51。請你幫助我。當你得到你可以做id ++的值之後,你可以使用 – EducateYourself 2014-09-28 18:27:09

+0

;看到這裏http://jsfiddle.net/kqL83dx3/2/ @EducateYourself – 2014-09-28 18:33:37

+0

其實它是重新調整一個字符串,你需要將其轉換爲數字,var new_id = Number(id)+1,將工作 快樂 – 2014-09-28 18:37:21

相關問題