JSFiddle - React, Tailwind, and code Playground
HTML
<table border="1" id="table">
<tr class="cabecalho">
<th class="not">ESTOQUE
<br/><span>Produto / Preço / Cidade</span></th>
<th class="coluna">Cidade 01</th>
<th class="coluna">Cidade 02</th>
<th class="coluna">Cidade 03</th>
<th class="coluna">Cidade 04</th>
<th class="coluna">Cidade 05</th>
<th class="coluna">Cidade 06</th>
<th class="coluna">Cidade 07</th>
<th class="coluna">Cidade 08</th>
</tr>
<tr>
<th class="feijao"><span>FEIJÂO</span></th>
<td>
<input type="button" value="3.20" class="btn" />
</td>
<td>
<input type="button" value="2.00" class="btn" />
</td>
<td>
<input type="button" value="3.00" class="btn" />
</td>
<td>
<input type="button" value="4.00" class="btn" />
</td>
<td>
<input type="button" value="3.00" class="btn" />
</td>
<td>
<input type="button" value="4.00" class="btn" />
</td>
<td>
<input type="button" value="3.00" class="btn" />
</td>
<td>
<input type="button" value="4.00" class="btn" />
</td>
</tr>
<tr>
<th class="arroz"><span>ARROZ</span></th>
<td>
<input type="button" value="2.45" class="btn" />
</td>
<td>
<input type="button" value="1.25" class="btn" />
</td>
<td>
<input type="button" value="1.40" class="btn" />
</td>
<td>
<input type="button" value="2.10" class="btn" />
</td>
<td>
<input type="button" value="3.00" class="btn" />
</td>
<td>
<input type="button" value="4.00" class="btn" />
</td>
<td>
<input type="button" value="3.00" class="btn" />
</td>
<td>
<input type="button"...
CSS
table {
border-collapse: collapse !important;
}
table tr td input {
width: 100%;
border: none;
background-color: #fff;
}
table tr td input:hover {
width: 100%;
border: none;
background-color: #E7E9E8;
cursor: pointer;
}
section legend {
border-bottom: 1px solid #000;
width: 55%;
margin-bottom: 10px;
}
section article {
width: 40%;
background-color: #CC6F23;
margin: 10px;
padding: 10px;
}
section article p {
margin: 0px;
font-weight: bold;
color: #fff;
}
JavaScript
var article = getElements('article p span');
function getElements(selector, rel) {
var list = (rel || document).querySelectorAll(selector);
return [].slice.call(list);
}
function handler(el, indexTr, indexTd) {
return function(e) {
var cidade = cols[indexTd].innerHTML;
var produto = linhas[indexTr].querySelector('th').innerHTML;
var preco = el.innerHTML;
[cidade, produto, preco].forEach(function(val, i) {
article[i].innerHTML = val;
});
}
}
var cols = getElements('th').slice(1);
var linhas = getElements('tr').slice(1);
linhas.forEach(function(tr, i) {
var tds = getElements('td', tr);
tds.forEach(function(td, j) {
td.addEventListener('click', handler(td, i, j));
});
});