Javascript 如何检测a中的负值<;td>;表格的html格式?
我有一个html表格,我正在使用Tangle框架使该表格的值看起来是动态的。Javascript 如何检测a中的负值<;td>;表格的html格式?,javascript,html,html-table,Javascript,Html,Html Table,我有一个html表格,我正在使用Tangle框架使该表格的值看起来是动态的。 我要做的是检查一个特定的,如果它的数值曾经是负值,那么该特定的整个应该将其背景颜色更改为红色 可以使用java脚本或一些简单的代码行解决此问题吗? 请帮我做这个。 <html> <head> <style type="text/css"> td.negative { color : red; } </style> <script l
我要做的是检查一个特定的
,如果它的数值曾经是负值,那么该特定
的整个
应该将其背景颜色更改为红色可以使用java脚本或一些简单的代码行解决此问题吗?
请帮我做这个。
<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>
td.negative{颜色:红色;}
一些金融方面的东西
钱是好的
2006-05-0119.95
2006-05-02-54.54
2006-05-0334.45
2006-05-0488.00
2006-05-0522.43
td.negative{颜色:红色;}
一些金融方面的东西
钱是好的
2006-05-0119.95
2006-05-02-54.54
2006-05-0334.45
2006-05-0488.00
2006-05-0522.43
我建议:
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';
}
}
var table=document.getElementsByTagName('table')[0],
cells=table.getElementsByTagName('td'),
hasNegative='hasNegative',
text='文档中的'textContent'textContent':'innerText',num=0;
对于(变量i=0,len=cells.length;i
确定消极性的这种相当奇怪的方法是我之前(也许是天真的)检查的结果(尽管我不确定负零是否会通过或不通过你的标准)。我建议:
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';
}
}
var table=document.getElementsByTagName('table')[0],
cells=table.getElementsByTagName('td'),
hasNegative='hasNegative',
text='文档中的'textContent'textContent':'innerText',num=0;
对于(变量i=0,len=cells.length;i
确定否定性的这种相当奇怪的方法是我之前(也许是天真的)检查的结果(尽管我不确定负零是否会通过或不通过您的标准)。是的,它可以(轻松地)完成,您的(相关)HTML是什么?是的,它可以(轻松地)完成,您的(相关)HTML是什么HTML?在任何位置寻找破折号或减号,然后检查,如果是在开始,是没有意义的。如果您希望在开始时使用它,请在开始时查找:
…nodeValue[0]==“-”
由于nodeValue
不会规范化前缀空格,您应该明确忽略它:/^\s*-/.test(…nodeValue)
在任何位置查找破折号或减号,然后检查是否在开头,这有点毫无意义。如果您希望它出现在开头,请在开头查找:…nodeValue[0]==“-”
由于nodeValue
不会规范前缀空格,您应该明确忽略它:/^\s*-/.test(…nodeValue)