I have a table of 6 rows and 7 columns. Each cell is initially a gray circle. When I click on a circle I need to change the background color of the last non-blue circle from the same column starting from the bottom row to blue.
This code works only when the circles on the last row are grey. It would not change the color of the circle on the second to last row if the circle on the last row is blue. Any help or tips are welcome!
$(".circle").click(function() {
var colindex = $(this).closest('td').index() + 1;
for (i = 6; i > 0; i--) {
var cell = $('tr:nth-child(' + i + ') td:nth-child(' + colindex + ')');
if (cell.find('div').css('background-color') === 'blue') {
i--;
} else {
cell.find('div').css('background-color', 'blue');
break;
}
}
})
table {
margin: auto;
width: 50% !important;
}
.circle {
width: 100px;
height: 100px;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 50px;
background: #706e6e;
border: 4px solid black;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
</tr>
<tr>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
</tr>
<tr>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
</tr>
<tr>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
</tr>
<tr>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
</tr>
<tr>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
<td><div class="circle"></div></td>
</tr>
</table>