Сейчас мы с вами научимся осуществлять сложный поиск по HTML таблице. Например, мы научимся находить колонки таблицы или ее диагонали.
Пусть у нас есть некоторая HTML таблица,
в которой через атрибут data-col
для
каждой ячейки проставлен номер колонки, которой
принадлежит ячейка:
<table id="table">
<tr>
<td data-col="1"></td>
<td data-col="2"></td>
<td data-col="3"></td>
</tr>
<tr>
<td data-col="1"></td>
<td data-col="2"></td>
<td data-col="3"></td>
</tr>
<tr>
<td data-col="1"></td>
<td data-col="2"></td>
<td data-col="3"></td>
</tr>
</table>
Пусть перед нами стоит задача по нахождению
ячеек определенной колонки, например, колонки
с номером 2
. Для решения задачи можно
воспользоваться CSS селектором поиска по
атрибуту и его значению, вот так:
let tds = document.querySelectorAll('#table td[data-col="2"]');
for (let td of tds) {
td.innerHTML = '!';
}
Пусть теперь номер колонки хранится в какой-то переменной. В этом случае нам необходимо будет использовать операцию сложения строк:
let col = 2;
let tds = document.querySelectorAll('#table td[data-col="' + col + '"]');
for (let td of tds) {
td.innerHTML = '!';
}
Дана следующая HTML таблица:
<table id="table">
<tr>
<td data-col="1"></td>
<td data-col="2"></td>
<td data-col="3"></td>
</tr>
<tr>
<td data-col="1"></td>
<td data-col="2"></td>
<td data-col="3"></td>
</tr>
<tr>
<td data-col="1"></td>
<td data-col="2"></td>
<td data-col="3"></td>
</tr>
</table>
td {
width: 50px;
height: 50px;
border: 1px solid black;
}
Сделайте так, чтобы по клику на любую ячейку в красный фон красились все ячейки этой колонки.
Дана следующая HTML таблица:
<table id="table">
<tr>
<td data-row="1" data-col="1"></td>
<td data-row="1" data-col="2"></td>
<td data-row="1" data-col="3"></td>
</tr>
<tr>
<td data-row="2" data-col="1"></td>
<td data-row="2" data-col="2"></td>
<td data-row="2" data-col="3"></td>
</tr>
<tr>
<td data-row="3" data-col="1"></td>
<td data-row="3" data-col="2"></td>
<td data-row="3" data-col="3"></td>
</tr>
</table>
Даны также две переменные, в которых хранятся номер колонки и номер ряда:
let col = 2;
let row = 3;
Сделайте кнопку, по нажатию на которую в красный фон покрасится та ячейка, номер которой совпадает с номером из переменных.