获取最后一行的第一个单元格的值

问题描述:

我想获取表格最后一行的第一个单元格的值,但看起来语法不正确。你能检查一下吗?获取最后一行的第一个单元格的值

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

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

对于 “最后一排的第一个单元格”,您可以:

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>

如何得到它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(); 

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

您也可以通过ID选择它。看看这个JS小提琴的解决方案。 http://jsfiddle.net/kqL83dx3/1/

var id = $('#test tr:last td:first').text();