突出个别细胞

时间:2010-10-18 03:15:00

标签: javascript jquery

我正在解决一个问题,因为我遇到了相当大的困难。感谢一些非常精彩的程序员,我有一些javascript代码,如果一个id =“date”的单元格有一个过去的日期,我可以在表格中突出显示整行。但是现在我试图转换它,以便它只突出显示日期本身的单元格。我的代码是

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<style type="text/css">
body {
background-color: transparent;
padding: 10px;
}
#demotable1 tr {
background: white;
}

#demotable1 tr.past {
background: #FF0000;
color: #999999;
}
</style>
<script type="text/javascript">
//<![CDATA[

$(function()
{
$('#demotable1 .date').each(function()
{
var cell_date = Date.parse($(this).text().replace(/(\d{2})\/(\d{2})\/(\d{4})/, '$2/$1/$3'));
var now_date = new Date().getTime();
if(cell_date < now_date)
{
$(this).parent('tr').addClass('past')
}
}
);
}
);

//]]>
</script>

我已经尝试将.parent更改为.child以及我能想到的几乎所有可想到的变体。

对这个问题的任何帮助都会受到很大关注。

1 个答案:

答案 0 :(得分:1)

只需将您的风格更改为<td>而不是<tr>,如下所示:

#demotable1 td.past {
  background: #FF0000;
  color: #999999;
}

并更改您的代码以将该类应用于该单元格而不是父级,因此请将其替换为:

$(this).parent('tr').addClass('past')

有了这个:

$(this).addClass('past')