Javascript 如何检测a中的负值<;td>;表格的html格式?

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

我有一个html表格,我正在使用Tangle框架使该表格的值看起来是动态的。
我要做的是检查一个特定的
,如果它的数值曾经是负值,那么该特定
的整个
应该将其背景颜色更改为红色
可以使用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)