Я пытаюсь изменить цвет фона ячеек таблицы с помощью функции. Код простой, но почему-то не работает. Вы можете помочь
function changecolor() {
var t = document.getElementById("t1");
var cells = t.getElementsByTagName("td");
/*Now cells become array-like, with td tag elements
indexed*/
cells[0] = style.backgroundColor = "red";
/* I suspect the code above has the error because my js
seem to break here.*/
}<table border = "1" id = "t1">
<tr>
<th>name</th>
<th>surname</th>
<th>age</th>
</tr>
<tr>
<td>Ray</td>
<td>Nkiwane</td>
<td>26</td>
</tr>
<tr>
<td>Eric</td>
<td>cartman</td>
<td>10</td>
</tr>
</table>
<button id = "b1" onClick = "changecolor()">
Change to red
</button>Когда я размещаю предупреждение внутри функции, оно отображается, когда я нажимаю кнопку, подтверждая, что кнопка и функция правильно связаны. Но если это предупреждение находится в конце функции, оно не отображается, предполагая, что код внутри имеет ошибка



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


function changecolor() {
var t = document.getElementById("t1");
var cells = t.getElementsByTagName("td");
/*Now cells become array-like, with td tag elements
indexed*/
cells[0].style.backgroundColor = "red";
}
Изменить ячейки строки [0] = style.backgroundColor = "red"; в ячейки[0].style.backgroundColor = "красный";
всего 1, это исправлено. я использовал = вместо .
Проблема здесь:
cells[0] = style.backgroundColor = "red";
Это означает, что вы пытаетесь присвоить объект с именем стиль элементу в ячейки[0]. Если вы хотите изменить свойство стиля определенного элемента, вам нужно сделать это следующим образом:
cells[0].style.backgroundColor = "red";
это было прямо у меня под носом все время!. 2 часа моей жизни, потраченные впустую, никогда не вернутся
Хе-хе, не считайте это потраченным впустую временем. Я знаю, хотя иногда именно мелочи вызывают сильную головную боль.
Вы пытаетесь изменить все ячейки или только одну?