javascript - 如何使用 DOM 更改表中单行的背景颜色
问题描述
只有当第 4 个单元格内的文本内容等于“DELAYED”时,我才想修改表格内每一行的颜色,我创建了一个函数来做到这一点,但没有颜色改变......
function assignColor()
{
//getting all the tr elements from document
var x = document.getElementsByTagName("tr");
for(var i = 0; i < x.length; i++)
{
//Accessing to text Content in the 4th cell of the tr
if(x[i].cells[3].textContent == "DELAYED")
{
x[i].style.backgroundColor = "red";
}
}
}
我认为我将表格从 js 填充到 html 的方式有问题
function printFlights(arrayOfFlight)
{
//I insert tr till the length of an array
for(var i = 0; i < arrayOfFlight.length; i++)
{
//creating tr element
var tr = document.createElement("tr");
//Inserting cells inside tr using propertys of an object
tr.insertCell(0).innerHTML =
formatDate(arrayOfFlight[i].arrivalDate);
tr.insertCell(1).innerHTML =
formatTime(arrayOfFlight[i].arrivalDate);
tr.insertCell(2).innerHTML = arrayOfFlight[i].destination;
tr.insertCell(3).innerHTML = arrayOfFlight[i].status;
tr.insertCell(4).innerHTML = arrayOfFlight[i].airplane;
tr.insertCell(5).innerHTML = arrayOfFlight[i].gate;
//add tr to tbody
tableBody.appendChild(tr);
}
}
解决方案
您的代码正在运行:
function assignColor()
{
//getting all the tr elements from document
var x = document.getElementsByTagName("tr");
for(var i = 0; i < x.length; i++)
{
//Accessing to text Content in the 4th cell of the tr
if(x[i].cells[3].textContent == "DELAYED")
{
x[i].style.backgroundColor = "red";
}
}
}
assignColor();
<table>
<tr>
<td>a</td>
<td>a</td>
<td>c</td>
<td>DELAYED</td>
</tr>
</table>
推荐阅读
- java - 查找与 JSON 中特定键值对匹配的给定格式的正则表达式
- powerbi - Power bi - 无法在 Power bi 服务器中为 Web 匿名连接设置刷新
- spring - 我正在尝试删除列表中的子元素
- python - x 和 y 之间的 NoForeignKeysError
- serialization - Ember:必须在传递给“push”的对象中包含“id”
- c# - 在 2 Tab Control C# 中将数据从 DataGridView 导出到 Excel
- c - 下面的代码片段在c中返回了什么
- titanium - Appcelerator Titanium - 使用模型作为动态主题
- python - 如何获取某个主题的最新帖子?
- python - Python self 在类中被忽略