2011-09-26 93 views
1

如果我想为表中的某个字段添加CSS样式,该值等于当前时间或大于当前时间,但小于下一个字段的值,我如何使用JQuery来做到这一点?Jquery和CSS样式

表的样品看起来像这样:

----------------------- 
    field | current time 
----------------------- 
    1 | 05:25 
    2 | 07:30 
    3 | 09:18 
    4 | 10:13 
    5 | 12:44 

如果当前时间是9时五十领域4号应具有不同的背景颜色 (如果当前时间是05:30,则字段2,...)

感谢您的所有建议。

+0

到目前为止,您有尝试过什么吗? – JMax

+0

你为什么不在服务器端做到这一点? – archil

回答

1

假设这是有序的...

1),你应该有一个函数(myFunc的),可以比较次,并返回如果离开的说法大或变小,然后右边。 2)你应该有一个返回'now'时间的函数。

3)每个时间跨度应与类。时间

然后jQuery中被包裹:每次应与类包裹。时间鹅卵石

$(".time").each(function(){ 
    if (myfunc ($(this).text(),now())=='bigger') 

{ 
$(this).css('color','red'); 
return false; 
} 


    }); 
0

此一起:http://jsfiddle.net/xVDnj/1/ - 它将根据给定时间是在当前时间之前还是之后(在同一天),为每个表格单元分配“过去”或“将来”类别。

$(document).ready(function() { 
    var cdate = new Date(); 
    $('table tbody tr').each(function() { 
     var $tc = $(this).find('td').eq(1) 
     var tstr = $tc.text(); 
     var thour = tstr.split(":")[0]; 
     var tmin = tstr.split(":")[1]; 
     var tdate = new Date(); 
     tdate.setHours(thour,tmin); 
     if (tdate-cdate < 0) { 
      $tc.addClass('past'); 
     } else { 
      $tc.addClass('future'); 
     } 
    }); 
});