try something like<table id="mytable" width="14%" border="1" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="40%">A</td>
    <td width="60%">1</td>
  </tr>
  <tr> 
    <td width="40%">A</td>
    <td width="60%">2</td>
  </tr>
  <tr> 
    <td width="40%">B</td>
    <td width="60%">1</td>
  </tr>
  <tr> 
    <td width="40%">B</td>
    <td width="60%">2</td>
  </tr>
  <tr> 
    <td width="40%">B</td>
    <td width="60%">3</td>
  </tr>
  <tr> 
    <td width="40%">A</td>
    <td width="60%">1</td>
  </tr>
</table>
<input type="button" value="merge" onclick="mergeCell()"><script language="javascript">
function mergeCell()
{
  var rows = mytable.rows;
  var nrow = 0, nlastrow ;
  
  var ncol = 0;//for first column only, but you can use a loop here, if you want
  while (nrow < rows.length)
  {
   nlastrow = nrow++;
while (nrow < rows.length && rows[nlastrow].cells[ncol].innerText ==  rows[nrow].cells[ncol].innerText)
nrow++; if (nrow - nlastrow > 1)
{
for (var i=nlastrow+1;i< nrow; i++)
{
rows[i].deleteCell(ncol);
} rows[nlastrow].cells[ncol].rowSpan = nrow - nlastrow;
}
  }
}
</script>