Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как с помощью 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", если значения одинаковые, то не трогаем ничего.

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

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

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

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

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

</tr>

Заранее спасибо!
Голосование за лучший ответ
Саня Соловьев Гуру (3103) 1 год назад
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');
}
}
Никита СошковУченик (37) 1 год назад
Да ты ж мой котик) Большое спасибо тебе зайка)
Саня Соловьев Гуру (3103) Никита Сошков,
Никита СошковУченик (37) 1 год назад
Смотри, let tr я же могу поменять на любое же, верно? То есть let moya_tr? Ну например?
Саня Соловьев Гуру (3103) Никита Сошков, да, конечно - это всего лишь название переменой. Только не забудь исправить на новое название во всех местах, где используется данная переменная
Никита СошковУченик (37) 1 год назад
Так у тебя первый и второй, а в таблице это второй и третий TD... Мне нужно применить это правила ко всей таблице и ко всем TR, но сравнивать значения конкретно второго и третьего TD в каждой TR.
Саня Соловьев Гуру (3103) Никита Сошков, В массиве нумерация с 0 начинается. let arr = ["td1", "td2", "td3", "td4"]. Таким образом arr[1] == "td2" и arr[1] == "td3".
Похожие вопросы