运行数组并检查jQuery中单元格的值

时间:2015-10-22 13:50:40

标签: javascript jquery html arrays

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

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

对于每个td,我想检查分数/值是否在一定数量之间,如果是,则更改颜色。例如,< 7.0为红色,7-8为白色,8为绿色。

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

 $(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);
 });

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

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

2 个答案:

答案 0 :(得分:2)

Imho,您不需要超时,该功能将在页面加载时首先触发。然后使用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');
    }
  });
});

答案 1 :(得分:1)

使用$.each循环到您的元素中。尝试

$(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);
})