我有一个 html 表格,我正在使用 Tangle 框架使该表格的值看起来是动态的。
我想要的是检查一个特定的数值,<td>
如果它的数值曾经变为负数,那么整个<tr>
特定的<td>
应该将其背景颜色更改为Red。
这可以使用java脚本完成吗?或者一些简单的代码行可以解决这个问题?
请帮我这样做。
问问题
1964 次
2 回答
5
<html>
<head>
<style type="text/css">
td.negative { color : red; }
</style>
<script language="JavaScript" type="text/javascript">
<!--
function MakeNegative() {
TDs = document.getElementsByTagName('td');
for (var i=0; i<TDs.length; i++) {
var temp = TDs[i];
if (temp.firstChild.nodeValue.indexOf('-') == 0) temp.className = "negative";
}
}
//-->
</script>
</head>
<body>
<table id="mytable">
<caption>Some Financial Stuff</caption>
<thead>
<tr><th scope="col">Date</th><th scope="col">Money is good</th></tr>
</thead>
<tbody>
<tr><td>2006-05-01</td><td>19.95</td></tr>
<tr><td>2006-05-02</td><td>-54.54</td></tr>
<tr><td>2006-05-03</td><td>34.45</td></tr>
<tr><td>2006-05-04</td><td>88.00</td></tr>
<tr><td>2006-05-05</td><td>22.43</td></tr>
</tbody>
</table>
<script language="JavaScript" type="text/javascript">
<!--
MakeNegative();
//-->
</script>
</body>
于 2013-06-11T11:27:58.243 回答
0
我建议:
var table = document.getElementsByTagName('table')[0],
cells = table.getElementsByTagName('td'),
hasNegative = 'hasNegative',
text = 'textContent' in document ? 'textContent' : 'innerText', num = 0;
for (var i = 0, len = cells.length; i < len; i++) {
num = parseFloat(cells[i][text]);
if (Math.abs(num) !== num) {
cells[i].parentNode.className += ' hasNegative';
}
}
确定否定性的相当奇怪的方法是我之前的结果,也许是幼稚的,检查未能区分0
和-0
(尽管我不太确定负零是否会通过或失败,你的标准)。
于 2013-06-11T11:41:06.173 回答