JSFiddle - React, Tailwind, and code Playground
HTML
<table border="1">
<tr>
<th></th>
<th>col 1</th>
<th>col 2</th>
<th>col 3</th>
</tr>
<tr>
<th>row 1</th>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
<tr>
<th>row 2</th>
<td>13</td>
<td>14</td>
<td>15</td>
</tr>
</table>
<div class="tot">
</div>
CSS
.sel {
background-color: red;
}
.tot {
float: right;
border: 2px solid green;
}
JavaScript
$('td').on('click', function(){
$(this).toggleClass('sel');
calcTot();
});
$('tr:first th').on('click', function(){
$('tr:not(:first) td:nth-child('+($(this).index()+1)+')').toggleClass('sel');
calcTot();
});
$('tr:not(:first) th').on('mousedown', function(){
$(this).closest('tr').find('td').toggleClass('sel');
calcTot();
});
function calcTot() {
var tot = 0;
$('td.sel').each(function(){
tot += 1 * $(this).text();
});
$('div.tot').html(tot);
}