Доброго времени суток.
Есть такой незамысловатый html:
table
{
border-collapse: collapse;
}
td
{
height: 20px;
width: 20px;
border: solid black 1px;
}
.td1
{
height: 20px;
width: 60px;
border: solid black 1px;
}
<link rel = "stylesheet" type = "text/css" href = "114.css">
<table>
<tbody>
<tr>
<td></td><td></td><td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td class = "td1">1</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td></td><td></td><td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td class = "td1">2</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td></td><td></td><td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td class = "td1">3</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td></td><td></td><td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td class = "td1">4</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td></td><td></td><td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td class = "td1">5</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td></td><td></td><td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td class = "td1">6</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td></td><td></td><td></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td class = "td1">7</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td></td><td></td><td></td>
</tr>
</tbody>
</table>
<button>Click</button>
<script src = "114.js"></script>
document.getElementsByTagName('button')[0].addEventListener('click', gggg);
function gggg()
{
let a = document.getElementsByClassName('td1').length;
for (let i = 0; i < a; i++)
{
document.getElementsByClassName('td1')[i].parentNode.parentNode.parentNode.remove();
}
}
Задачка - как удалить таблицы, в которых есть td с классом td1.
Объясните пожалуйста полному

почему нечётные удаляются???