JSFiddle - React, Tailwind, and code Playground
HTML
<table>
<tr>
<td>
<div class="unselected">1</div>
</td>
<td>
<div class="unselected">2</div>
</td>
<td>
<div class="unselected">3</div>
</td>
</tr>
<tr>
<td>
<div class="unselected">4</div>
</td>
<td>
<div class="unselected">5</div>
</td>
<td>
<div class="unselected">6</div>
</td>
</tr>
<tr>
<td>
<div class="unselected">7</div>
</td>
<td>
<div class="unselected">8</div>
</td>
<td>
<div class="unselected">9</div>
</td>
</tr>
</table>
CSS
table {
border:1px solid black;
border-collapse: collapse;
border-spacing: 0px;
width: 100px;
}
td {
text-align: center;
border:1px solid black;
padding: 0;
}
.unselected {
background-color: yellow;
}
.selected {
border-color: red;
border-width: 2px;
border-style: solid;
}
div {
box-sizing:border-box;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
cursor: pointer;
padding: 3px;
}
JavaScript
$(function () {
$("div").click(function () {
if ($(this).hasClass("unselected")) {
$(this).removeClass("unselected")
.addClass("selected");
} else {
$(this).removeClass("selected")
.addClass("unselected");
}
});
});