gpt4 book ai didi

javascript - 循环表格以设置背景 css

转载 作者:行者123 更新时间:2023-12-01 06:09:47 24 4
gpt4 key购买 nike

我的 HTML 表格有一些类并使用了表格标签

想要按原样保留类,但我所有的表和 tr 、 th 或 td 都使用 td bgcolor 这是一种旧技术。

我想循环遍历表格并查找是否定义了 bgcolor,使用相同的颜色并将其转换为基于 css 的背景颜色,以便我可以在 IE 中打印它

function setBackground() {

var table = document.getElementById("table1");

//i found this in a previous stack overflow answer and tried it

for (var i = 0, row; row = table.rows[i]; i++) {

for (var j = 0, col; col = row.cells[j]; j++) {

//this is for debugging purposes... I can't even get this to work
alert(table.rows[i].cells[j]);

table.rows[i].cells[j].style.background = "orange"; //just an example

}
}
}

因为 IE 由于某种原因无法使用 webkit 属性打印背景线条和颜色

最佳答案

我稍微清理了一下 for 循环。您可以使用 getAttribute 读取属性并设置样式。

var table = document.getElementById("table1");
for (var i = 0; i < table.rows.length; i++) {
var row = table.rows[i]
for (var j = 0; j < row.cells.length; j++) {
var cell = row.cells[j]
var bgc = cell.getAttribute('bgcolor')
if (bgc) {
cell.style.background = bgc
}
}
}
td {
width: 30px; height: 30px;
}
<table id="table1">
<tr>
<td bgcolor="red"></td>
<td></td>
<td bgcolor="blue"></td>
</tr>
<tr>
<td></td>
<td bgcolor="green"></td>
<td></td>
</tr>
<tr>
<td bgcolor="yellow"></td>
<td></td>
<td></td>
</tr>
<tr>
<td bgcolor="silver"></td>
<td></td>
<td></td>
</tr>
</table>

您只需使用 getElementsByTagName 进行一次循环即可完成此操作

var tds = document.getElementById("table1").getElementsByTagName("td");
for (var i = 0; i < tds.length; i++) {
var cell = tds[i]
var bgc = cell.getAttribute('bgcolor')
if (bgc) {
cell.style.background = bgc
}
}
td {
width: 30px; height: 30px;
}
<table id="table1">
<tr>
<td bgcolor="red"></td>
<td></td>
<td bgcolor="blue"></td>
</tr>
<tr>
<td></td>
<td bgcolor="green"></td>
<td></td>
</tr>
<tr>
<td bgcolor="yellow"></td>
<td></td>
<td></td>
</tr>
<tr>
<td bgcolor="silver"></td>
<td></td>
<td></td>
</tr>
</table>

关于javascript - 循环表格以设置背景 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60232231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com