JSFiddle - React, Tailwind, and code Playground

HTML

<table class="tbl" cellspacing="0" cellpadding="0" border="1">
    <tr>
        <th>1</th>
        <th>2</th>
        <th>3</th>
        <th>4</th>
        <th>5</th>
        <th>6</th>
        <th>7</th>        
    </tr>
    <tr>
        <td>11</td>
        <td>12</td>
        <td class="nd2">13</td>
        <td>14</td>
        <td>15</td>
        <td>16</td>
        <td class="nd2">17</td>        
    </tr>
    <tr>
        <td class="nd2">21</td>
        <td class="nd">22</td>
        <td>23</td>
        <td class="nd">24</td>
        <td>25</td>
        <td class="nd2">26</td>
        <td>27</td>        
    </tr>
    <tr>
        <td>31</td>
        <td class="nd2">32</td>
        <td class="nd">33</td>
        <td>34</td>
        <td>35</td>
        <td class="nd2">36</td>
        <td>37</td>        
    </tr>
</table>

CSS

body{font-size: 20pt;}
table{
    margin:0;
    padding:0;
    border:1px solid #888;
}
td.nd{
    color:#0f0;
}
td.nd2{
    color:#f00;
}

JavaScript

// функция обмена элементов
jQuery.fn.swapWith = function(to) {
	return this.each(function() {
		var copy_to = $(to).clone();
		var copy_from = $(this).clone();
		$(to).replaceWith(copy_from);
		$(this).replaceWith(copy_to);
	});
};

function DownCell(table, td_class){
	var rowcount = table.find("tr").length;
	var colcount = table.find("tr")[0].cells.length;
	var cell;
	for(var col=0;col<colcount;col++){
		var count=0;
		for(var row=0;row<rowcount;row++){
			cell=table.find("tr:eq("+row+")").find("td:eq("+col+")");
			if(cell.hasClass(td_class) && !cell.hasClass("down_cell")){
				// теперь перемещаем текущую ячейку вниз со сдвигом вверх
				cell.addClass("down_cell");
				for(var k=row;k<rowcount-1;k++){
					var current_cell = table.find("tr:eq("+k+")").find("td:eq("+col+")");
					var down_cell = table.find("tr:eq("+(k+1)+")").find("td:eq("+col+")");
					down_cell.swapWith(current_cell);
				}
				row--;
			}
		}
	}
    return false;
}
setTimeout(function(){
    DownCell($('table.tbl'), 'nd');
    DownCell($('table.tbl'), 'nd2');
}, 2000);