У меня есть таблица с некоторыми значениями, которые я хочу установить цвет на основе значения, которое они имеют.Что я сделал, это было:
window.onload = setColor();
function setColor() {
var elems = document.getElementsByTagName("td");
for (i = 0; i < elems.length; i++) {
if (elems[i].innerText === "Passed") {
elems[i].style.backgroundColor = "green";
} else if (elems[i].innerText === "Failed") {
elems[i].style.backgroundColor = "red";
}
}
}
<table id="myTable">
<tr>
<th style="width:50%;">SET</th>
<th style="width:50%;">TEST STATUS</th>
</tr>
<tr>
<td>Set</td>
<td>Passed</td>
</tr>
<tr>
<td>Set</td>
<td>Passed</td>
</tr>
</table>
Но, как вы можете видеть, я в общем зацикливаюсь td elements
, чтобы сделать это, и я думаю, что это не хорошо, не так ли?
Итак, у меня есть несколько вопросов:
- Есть ли обходной путь для установки какого-то
onload events
для elements
, который не поддерживает его, чтобы я мог сделать что-то вроде magicevent=setColor(this)
?Я ожидаю, что таблица будет стабильной. - Является ли то, что я спросил в последнем вопросе, хорошей практикой?Если нет, то что бы вы порекомендовали?
- Как я мог добиться того, что сделал в
CSS
?Я не понимаю синтаксис CSS
в js
.
Заранее спасибо.