【问题标题】:Run through array and check values of <td> cells in jQuery遍历数组并检查 jQuery 中 <td> 单元格的值
【发布时间】:2015-10-22 22:43:16
【问题描述】:

场景: 我有一个大约 10 行的表,每行都包含一个 '.t3_dc' 类。

这些单元格将包含介于 1.0 和 9.9 之间的值

对于每个 td,我想检查分数/值是否在一定数量之间,如果是,则更改颜色。例如,

经过几次尝试,我做到了这一点,但我最大的障碍似乎是将每个存储到一个数组中,然后逐个运行并检查它们。

 $(document).ready( function() {
 function scores () {
 var score = $('td.t3_dc').text();
 var num = parseFloat(score);

 alert(score)[0];

 if(num < 7 ) {
    $(score).css('color','green');
   }
 else {
    $(score).css('color','red');
   }
  };
    setTimeout(scores, 2000);
 });

注意:存在超时功能,因为表格本身需要几秒钟才能加载到页面上

问。如何循环遍历 's 数组并检查每个值,并根据需要添加颜色?

【问题讨论】:

  • 能否将您的 HTML 结构添加到问题中?
  • 它的自动生成的 html 表有点困难 - 每行有 10 行和 2 个 。我感兴趣的 td 有上面提到的类

标签: javascript jquery html arrays


【解决方案1】:

恕我直言,您不需要超时,该功能将在页面加载时首先触发。然后使用each() 循环类并检查它的值。

$(function() {
  $('.t3_dc').each( function() {
    var elem = $(this) ,
        value = parseFloat( elem.text() );
    if( value < 7 ) {
      elem.css('color', 'red');
    }
    elseif( value > 8 ) {
      elem.css('color', 'green');
    }
  });
});

【讨论】:

  • 谢谢!这很有意义并简化了我想要实现的目标
【解决方案2】:

使用$.each for 循环进入你的元素。试试

$(document).ready( function() {
    function scores () {
        $.each($('td.t3_dc'),function(){
            if(parseFloat($(this).text()) < 7 ) {
                $(this).css('color','green');
            }
            else {
                $(this).css('color','red');
            }
        });

    };
    setTimeout(scores, 2000);
})

【讨论】:

  • 这个 $.each(**'td.t3_dc'**, function(){* 将不起作用。你要么使用 *$.each($('td .t3_dc')、function(){$('td.t3_dc').each(function(){
  • 我的脚本可以正常工作。如果你添加 $.each 你不需要放入
  • 我看到并测试过的所有文档都显示 $.each 接受一个没有选择器的数组或对象。你能创建一个小提琴来展示它的工作原理吗?我很好奇:)
  • :-) 对我来说也是如此!对不起,你是对的。我看过另一个答案:-)。我在 stackexchange 移动应用程序中。谢谢男人
猜你喜欢
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-13
  • 1970-01-01
相关资源
最近更新 更多