Top.Mail.Ru
Ответы

Как с помощью JS в каждой строке сравнить два TD и дать им класс если значения в них различны?

Есть таблица: (код тут: 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", если значения одинаковые, то не трогаем ничего.

Должно получиться так:
<tr>

<td>Ручка красная</td>

<td class="warning">984</td>

<td class="warning">6615</td>

<td>10 руб.</td>

</tr>

Заранее спасибо!

По дате
По рейтингу
Аватар пользователя
Гуру

let tr = document.querySelectorAll('tr');
for(let i=1; i<tr.length; i++){
if(tr.[i].children[1].innerText != tr.[i].children[2].innerText){
tr.[i].children[1].classList.add('warning');
tr.[i].children[2].classList.add('warning');
}
}