我正在尝试做两件不同的事情。我需要根据以下内容更改td的CSS:
这是我的表格:
<table><tr>
<td>October 27, 2012</td>
<td id="assigned">Yes</td>
</tr>
<tr>
<td>November 14, 2012</td>
<td id="assigned"></td>
</tr>
</table>
我知道我可以使用jQuery检查<td>
是否为空。我也知道我可以解析屏幕上的日期。但我似乎无法让jQuery遍历表中的每一行。这是我的代码:
$(document).ready(function () {
$('#myTable tr').each(function(i){
var today = new Date();
var d = Date.parse($("#dueDate").text());
if(d < today && $("td#assigned").text()==""){
$("#dueDate").css("background-color","red");
}});
});
我是不是在摇杆?我看这个,我认为它看起来应该有效,但事实并非如此。任何帮助,将不胜感激。谢谢!
答案 0 :(得分:1)
似乎问题似乎已经出现了。 HTML页面中的ID应该是唯一的..
相反,您可以使用.eq()
和$(this)
来搜索td
$(document).ready(function() {
$('#myTable tr').each(function(i) {
var $this = $(this);
var $dueDate = $this.find('td:eq(0)');
var $assigned = $this.find('td:eq(1)');
var today = new Date();
var d = Date.parse( $dueDate.text());
if (d < today && $assigned.text() == "") {
$duedate.css("background-color", "red");
}
});
});
<强> Fiddle 强>