【问题标题】:Change text color in a table cell (if, else)更改表格单元格中的文本颜色(如果,否则)
【发布时间】:2012-04-11 05:40:44
【问题描述】:

如果有这样的桌子..

<table>
<tr>
<td class="cell1">20</td>
</tr>
</table>

还有一个..当然有不止一个&lt;td&gt;..

如果数字小于 5,现在我想更改 &lt;td&gt; 中文本的颜色。

jQuery 可以做到吗?

&lt;td&gt; 中没有输入字段或段落,只有文本。

【问题讨论】:

  • “如果数字小于 5”是什么意思?您是指 TD 文本中的 20,还是指 cell1 类中的 1?还是您的意思是 TD 出现的次数?

标签: jquery if-statement text colors html-table


【解决方案1】:
$('.cell1').each(function(i, n) {
   if($(n).text() < 5) $(n).css('color', 'green');
});

遍历每个单元格,检查值,然后进行相应的更改

http://jsfiddle.net/bQfb6/2/

【讨论】:

【解决方案2】:

这应该可行:

$("table.myTable td").each(function(){
    if(parseInt($(this).html())<5){
        $(this).addClass("newColor");
    }
});

【讨论】:

    【解决方案3】:

    你可以像这样测试字段的内容:

    $('.cell1').each(function() {
        if($(this).text() < 5) { 
            $(this).css('color', 'red');
        }
    });
    

    【讨论】:

      【解决方案4】:

      是的。您可以使用.each 循环遍历所有表格单元格。然后您可以在单元格中获取text 和parse it as an integer (base 10)。如果小于 5,您可以将 css color 更改为您想要的任何值。

      我假设所有数字都是整数,并且在页面加载后它们不会改变。

      例如:

      $("td").each(function(){
         $cell = $(this);
         if(parseInt($cell.text(),10) < 5){
            $cell.css("color", "red");
         }
      });​
      

      Try it!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-23
        • 2015-01-24
        • 2016-02-21
        相关资源
        最近更新 更多