怎么用js根据单元格中的内容来改变table中的整行字体颜色

table绑定的数据中有一列入库量,如果这个入库量是负数,就设置整行的字体变成红色。用js如何实现... table绑定的数据中有一列入库量,如果这个入库量是负数,就设置整行的字体变成红色。用js如何实现 展开
 我来答
马后雷鼓下扬州5058
推荐于2017-10-15 · TA获得超过4321个赞
知道小有建树答主
回答量:693
采纳率:33%
帮助的人:806万
展开全部

修改 column_num 的值对应你 table 中的列数,下例检查的是第二列


<script type="text/javascript">
window.onload = function() {
// 第二列
var column_num = 2;

// 获取元素
var table = document.getElementById("table"),
rows = table.getElementsByTagName("tr");

// 循环表格
for(var i = 0; i < rows.length; i++) {
var cells = rows[i].getElementsByTagName("td");
for(var c = 0; c < cells.length; c++) {
// 对应列
if(c + 1 === column_num
// 判断是否小于 0
&& parseFloat(cells[c].innerHTML) < 0) {
// 两者均成立,改变颜色
rows[i].style.color = "#f00";
// 检查下一行
break;
}
}
}
};
</script>


BBB 和 CCC 这两行会变成红色

<table border="1" id="table">
<tr><td>AAA</td><td>124</td><td>XXX</td></tr>
<tr><td>BBB</td><td>-66</td><td>YYY</td></tr>
<tr><td>CCC</td><td>-95</td><td>ZZZ</td></tr>
</table>

如果你使用 jQuery,那可以更简单一些。没有的话就用上面的原生 JavaScript 代码。

$(function() {
$("#table tr td:nth-child(2)").each(function() {
if(parseFloat($(this).text()) < 0) {
$(this).parent().css("color", "#f00");
}
});
});


梦里寻你我他
推荐于2017-09-02 · TA获得超过2199个赞
知道大有可为答主
回答量:2171
采纳率:42%
帮助的人:1209万
展开全部
很简单,用for 循环 内容,然后在循环体里用if 语句判断单元值为负数,则设置单元格正行为红色为
例如 <tr fonts color="red"><td>内容</td></tr>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式