Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中更改表行的背景?_Javascript_Jquery_Html_Datatable_Getelementbyid - Fatal编程技术网

如何在javascript中更改表行的背景?

如何在javascript中更改表行的背景?,javascript,jquery,html,datatable,getelementbyid,Javascript,Jquery,Html,Datatable,Getelementbyid,在javascript代码中,我将行动态添加到表中。对于每个调用,将添加另一行。根据表格的长度,我如何将.insideHTML实现为单元格颜色。 表在HTML中定义为 <table id="myTableData" border="1" cellpadding="2" width = "100%"> <tr bgcolor="#FF0000"> <th>Delete</th> <

在javascript代码中,我将行动态添加到表中。对于每个调用,将添加另一行。根据表格的长度,我如何将.insideHTML实现为单元格颜色。 表在HTML中定义为

    <table id="myTableData"  border="1" cellpadding="2" width = "100%">
    <tr bgcolor="#FF0000">
            <th>Delete</th>
            <th>Word</th>
            <th>Meaning</th>
            <th>Date Added (dd/mm/yyyy)</th>
     </tr>

     </table>

你的第二次尝试失败是因为:

getElementsByTagName()方法返回一个活动的 HTMLCollection具有给定标记名的元素

因此,将集合设置为样式不起作用,需要循环该集合并将其设置为集合中的各个元素

var rows = tableCells.getElementsByTagName("tr") ;
for (var i=0; i<rows.length; i++) {
    rows[i].style.backgroundColor = "red";
}
现在在JavaScript中设置类

row.classList.add("error");


为什么需要JavaScript来设置背景色?为什么不使用一些css来定位表格行呢?
tr
背景的可能重复被
td
background覆盖。您想根据行的数量为不同的行使用不同的颜色吗(根据您问题中的这一行:
“根据表格的长度,我如何将.insideHTML实现为单元格颜色。”
)或(根据您的代码逻辑)你只是想让所有的表行都是同一种颜色吗?tr和td返回的是什么?我该如何越过tr背景?@vmatmBoth更改背景颜色的方法不起作用。我应该提到的是,每一行都是通过按钮的函数调用添加的。因此javascript不必在数据输入后更改行的颜色d by
row.insertCell(2.innerHTML=“World”
var rows = tableCells.getElementsByTagName("tr") ;
for (var i=0; i<rows.length; i++) {
    rows[i].style.backgroundColor = "red";
}
row.error td { background-color: red; }
row.classList.add("error");
row.className = "error";