Как с помощью JS в каждой строке сравнить два TD и дать им класс если значения в них различны?
Никита Сошков
Ученик
(37),
на голосовании
1 год назад
Есть таблица: (код тут: https:// codepen. io/pen/gOvRjmR) <table>
<thead>
<th>Наименование товара</th>
<th>ID в БД</th>
<th>Артикул</th>
<th>Цена за ед. товара</th>
</thead>
<tr>
<td>Ручка красная</td>
<td>145</td>
<td>145</td>
<td>10 руб.</td>
</tr>
<tr>
<td>Ручка синяя</td>
<td>486</td>
<td>481</td>
<td>15 руб.</td>
</tr>
<tr>
<td>Ручка зелёная</td>
<td>487</td>
<td>487</td>
<td>60 руб.</td>
</tr>
<tr>
<td>Ручка чёрная</td>
<td>488</td>
<td>489</td>
<td>99 руб.</td>
</tr>
</table>
В общем нужно сравнить каждые два "ID в БД" и "Артикул" в строке и если их значение отличаются друг от друга, тогда обоим даём класс "warning", если значения одинаковые, то не трогаем ничего.
Смотри, let tr я же могу поменять на любое же, верно? То есть let moya_tr? Ну например?
Саня Соловьев
Гуру
(3103)
Никита Сошков, да, конечно - это всего лишь название переменой. Только не забудь исправить на новое название во всех местах, где используется данная переменная
Так у тебя первый и второй, а в таблице это второй и третий TD... Мне нужно применить это правила ко всей таблице и ко всем TR, но сравнивать значения конкретно второго и третьего TD в каждой TR.
Саня Соловьев
Гуру
(3103)
Никита Сошков, В массиве нумерация с 0 начинается. let arr = ["td1", "td2", "td3", "td4"]. Таким образом arr[1] == "td2" и arr[1] == "td3".
<table>
<thead>
<th>Наименование товара</th>
<th>ID в БД</th>
<th>Артикул</th>
<th>Цена за ед. товара</th>
</thead>
<tr>
<td>Ручка красная</td>
<td>145</td>
<td>145</td>
<td>10 руб.</td>
</tr>
<tr>
<td>Ручка синяя</td>
<td>486</td>
<td>481</td>
<td>15 руб.</td>
</tr>
<tr>
<td>Ручка зелёная</td>
<td>487</td>
<td>487</td>
<td>60 руб.</td>
</tr>
<tr>
<td>Ручка чёрная</td>
<td>488</td>
<td>489</td>
<td>99 руб.</td>
</tr>
</table>
В общем нужно сравнить каждые два "ID в БД" и "Артикул" в строке и если их значение отличаются друг от друга, тогда обоим даём класс "warning", если значения одинаковые, то не трогаем ничего.
Должно получиться так:
<tr>
<td>Ручка красная</td>
<td class="warning">984</td>
<td class="warning">6615</td>
<td>10 руб.</td>
</tr>
Заранее спасибо!