我试图对表中的值设置一些条件格式。例如,我有两个列,一个行,两个值(每个td中有一个)。我试图将包含表中文本“红色”的行中任何值的字体颜色设置为红色。
我好像没出什么差错。
解决办法:最后守则:
<?!= include('script_js'); ?>
<? var data = getData(); ?>
<TABLE id="X">
<tbody>
<? for (var i = 0; i < data.length; i++) { ?>
<tr>
<? for (var j = 0; j < data[i].length; j++) { ?>
<td><?= data[i][j] ?></td>
<? } ?>
</tr>
<? } ?>
<style>
table {
border-collapse: collapse;
width: 100%;
background-color: #EEEEEE;
font-family:arial
}
tr {
border: 1px solid #DDDDDD;
width: 110%;
}
</style>
</tbody>
</TABLE>
<?!= include('script_rag'); ?>script_rag:
<script>
var table = document.getElementById("X");
for (var i = 0, row; row = table.rows[i]; i++) {
for (var j = 0, col; col = row.cells[j]; j++) {
if (col.innerText == "RED") {
col.style.backgroundColor = "#f00";
}
else
if (col.innerText == "GREEN") {
col.style.backgroundColor = "#8CC10C";
}
else
if (col.innerText == "AMBER") {
col.style.backgroundColor = "#FFBF00";
}
}
}
</script>发布于 2015-04-23 15:24:22
我不完全理解你想通过把每个数据传递到这样的函数来完成什么,但是如果你有一个表,而表中的每个单元格都可能包含"red“这个词,那么我会这样对它。
var cells = document.getElementById("#id_of_your_table").getElementsByTagName("td"); //This is an array of the cells (td's)
for (var i = 0; i < cells.length; i++) {
if (cells[i].indexOf('Red')) {
cells[i].css('background-color', 'red')
}}
在创建表后尝试此脚本
<script>
var table = document.getElementById("table1");
for (var i = 0, row; row = table.rows[i]; i++) {
for (var j = 0, col; col = row.cells[j]; j++) {
if (col.innerText == "Red") { // You might want to look at other solutions in case the TD should contain more than just "Red"
col.style.backgroundColor = "#f00";
}
}
}
</script>发布于 2015-04-23 15:16:25
你想用document.getElementById("Red").setAttribute("style","color:red");把你桌子上tds的字体颜色变成红色吗?
同样,正如“小冲突者”所问的,你能给我们看看你的桌子吗?
https://stackoverflow.com/questions/29827271
复制相似问题