我正在尝试确定如何计算jQuery中连续表格单元格之间的差异。我有一张看起来像这样的桌子。
<table id ="tbl">
<tr>
<td>5</td>
<td>12</td>
<td>15</td>
<td>17</td>
</tr>
<tr>
<td>3</td>
<td>6</td>
<td>12</td>
<td>13</td>
</tr>
</table>
我想从第二个td(12 - 5)减去第一个td,从第二个(15 - 12)减去第三个td,从第三个(17 - 15)减去第四个等等。我需要这样做对于表中的每一行。我确定答案很简单,但我被困住了。我知道我需要遍历每一行,但我怎样才能有效地进行计算?
$('#tbl tr').each(function(){
// help!
)}
答案 0 :(得分:1)
对每个tr
进行迭代,并查看索引大于零的所有td
(seoncd td
,并在每个tr
中)。取td
并减去.prev()
td
以获得答案。
以下是我将结果放在名为results
的div中的方法:
$(function() {
var index = 0;
$("#tbl tr").find("td:gt(0)").each(function() {
$this = $(this);
$("#results").append(++index + ": " +
($this.html() - $this.prev().html()) +
"<br/>");
})
});
为了更加确定, you can use parseInt like this :
// You can use parseInt to make sure it's an int. Don't forget the radix!
(parseInt($this.html(), 10) - parseInt($this.prev().html(), 10))
答案 1 :(得分:0)
试试这个
$(function() {
$("#tbl tr").each(function() {
var $currentTr = $(this),
totalRow = new Array(),
result = 0;
$currentTr.find("td").each(function() {
totalRow.push( parseInt( $(this).html(), 10) );
});
result = parseInt( totalRow[0], 10);
for(var i = 1; i < totalRow.length; i++)
{
result -= parseInt(totalRow[ i ], 10);
}
//result = Current TR's result
});
});