У меня есть таблица предметов. Как сделать так, чтобы ячейка менял цвет, скажем, на красный, если элемент равен 0
Идентификатор таблицы — myTable. Я не знаю, как мне это сделать в javascript. Я добавил идентификатор:
<td id = "quantity"><?php echo e(($row['Quantity'])); ?></td>
function ChangeColor(){
.... //what goes here
}



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы хотели бы сделать это в PHP во время выполнения, а не в JavaScript, как вы намекаете:
Например,
<?php
$backgroundColor = $row['Quantity'] == 0 ? 'red' : 'none';
echo '<td id = "quantity" style = "background-color: ' . $backgroundColor .'">' . e(($row['Quantity'])) . '</td>';
?>
Используйте class вместо id
<td class = "quantity"><?php echo e(($row['Quantity'])); ?></td>
затем выберите <td> с классом «количество» и оцените их содержание
document.querySelectorAll('td.quantity').forEach(e => {
if ( Number(e.textContent) < 0)
e.classList.add('negativeQtty')
})
затем объявите класс css negativeQtty
.negativeQtty {
background-color: red;
}
Не могли бы вы объяснить, почему trim()?
действительно, .trim() может не понадобиться при использовании Number().
Вы можете использовать фоновый класс Bootstrap
<td id = "quantity"class = "p-3 mb-2 bg-primary text-white"><?php echo e(($row['Quantity'])); ?></td>
Это код javascript, если вы хотите использовать javascript.
Нужен звонок с cell из th, тогда дайте cell.innerHTML.
Этот пример
var th = document.querySelectorAll('th')
for (let cell of th) {
if (cell.innerHTML === '6'){
cell.style.backgroundColor = 'green'
}
if (cell.innerHTML === '0'){
cell.style.backgroundColor = 'red'
}
}table {
margin-bottom: 1em;
border-collapse: collapse;
}
td,
th {
padding: .25em .5em;
border: 1px solid #333;
font: .75em "Verdana";
}<table id = "Table">
<tbody>
<tr>
<th>Data</th>
<th>Number</th>
<th>Total</th>
</tr>
<tr>
<th>Product</th>
<th>0</th>
<th>6</th>
</tr>
<tr>
<th>Product2</th>
<th>5</th>
<th>0</th>
</tr>
</tbody>
</table>
Вы работаете с laravel?